added Mixin to reduce game logic duplication