OOP updated game