imprex: wrote the compile routines and filled in (most of) the constructor bodies.