cleaning up how the compiler works
special functions working again