Game implementation with little refactoring