add game state functionality, restructured files to allow for states