restructured how the engine works some communication is through a shared object, perhaps I will revisit this problem in the future. Until then, this is stable and works...
accidently left in the debugging printfs but eh