public MonopolyResult startGame (String gameName, int humanPlayers, int computerizedPlayers, boolean useAutomaticDiceRoll) 
    {
        try
        {
            if(_gameManager.isGameExists())
            {
                return new MonopolyResult("only one game allowed");
            }
        
            if(gameName == null || gameName.isEmpty())
            {
                return new MonopolyResult("illegal game name");
            }
        
            if(humanPlayers < 1)
            {
                return new MonopolyResult("must have at least one human player!");
            }
        
            if(computerizedPlayers < 0)
            {
                return new MonopolyResult("illegal number of computer players");
            }
        
            int numPlayers = humanPlayers + computerizedPlayers;
            if(numPlayers < Game.MIN_NUM_PLAYERS || numPlayers > Game.MAX_NUM_PLAYERS)
            {
                return new MonopolyResult("illegal number of players (2-6)");
            }
        
            _gameManager.startGame("monopoly.xml", gameName, humanPlayers, computerizedPlayers, useAutomaticDiceRoll);
        
            return new MonopolyResult();
        }
        catch(Exception e)
        {
            Logger.getLogger(MonopolyGame.class.getName()).log(Level.SEVERE, "error start game", e);
            return new MonopolyResult("unknown error");
        }
    }