@Override
    public StatusType getInput(Object object) throws MenuException{       
        this.game = (Game) object;
        this.gamePreferenceControl.setGame(game);
        
        StatusType gameStatus = StatusType.PLAYING;
        String command = "";
        do {
            this.display();

            // get commaned entered
            try{
            command = this.getCommand();
            } catch (MenuException ex){
                 ErrorType.displayErrorMsg(ex.getMessage());
            }
            
            switch (command) {
                case "1":
                    this.gamePreferenceControl.getToken(this.game.getPlayerA());
                    System.out.println("\n\t Player 1 is using "+ this.game.getPlayerA().getToken() + " as a token");
                    System.out.println("\n\t Player 2 is using "+ this.game.getPlayerB().getToken() + " as a token");
                    break;
                case "2":
                    this.gamePreferenceControl.getToken(this.game.getPlayerB());
                    System.out.println("\n\t Player 1 is using "+ this.game.getPlayerA().getToken() + " as a token");
                    System.out.println("\n\t Player 2 is using "+ this.game.getPlayerB().getToken() + " as a token");
                    break;
                case "D":
                    try {
                    this.gamePreferenceControl.getDimensions();
                    } catch(BoardException ex){
                        ErrorType.displayErrorMsg(ex.getMessage());
                    }
                    break;
                case "N":
                     this.gamePreferenceControl.getPlayerNames();
                    break;
                case "Q":
                    gameStatus = StatusType.QUIT ;
                    break;
                    
                default: 
                    throw new MenuException (ErrorType.ERROR105.getMessage());
                    
            }
        } while (!gameStatus.equals(StatusType.QUIT));

        return gameStatus;
    }