refactored GameField