finished implementing game engine