added new singleton to use preprocessor callbacks
added parent constructor
commented out unneeded stuff