function _processGameEnd() internal returns(bool) {
        if (!gameStarted) {
            
            return false;
        }
    
        if (block.timestamp <= lastWagerTimeoutTimestamp) {
            
            return false;
        }
        
        
        
        uint256 prize = prizePool.add(wagerPool);
        
        
        _sendFunds(lastPlayer, prize);
        
        
        End(gameIndex, wagerIndex, lastPlayer, lastWagerTimeoutTimestamp, prize, nextPrizePool);
        
        
        gameStarted = false;
        lastPlayer = 0x0;
        lastWagerTimeoutTimestamp = 0;
        wagerIndex = 0;
        wagerPool = 0;
        
        
        prizePool = nextPrizePool;
        nextPrizePool = 0;
        
        
        gameIndex++;
        
        
        return true;
    }