Refactored game logic, TODO: Add gui