HUGE UPDATE: Engine seperated

The engine source files were seperated into different files