Refactored some code. Need to finish/fix game logic