basically all of the game code