Initial commit of engine code. No modifications from Assignment2