Added a lot more game logic... will need some time to test everything