refactored game presenter