Part I: Techniques That Do Not Use IDL's Internal API