private void play()
    {
        System.out.print(welcome());

        while(true) {
            System.out.print("\n__________________________________________");
            System.out.print("\n> ");

            String command = commandsParser.getCommand();
            String output = commandsParser.parseCommand(command);

            if(output.equals("quit")) {
                break;
            }
            
            if(output.equals("finished")) {
                System.out.println("Congratulations on completing the game!");
                break;
            }else if(gameData.getCurrentLocation().getShortDescription().equals("RESCUE")) {
                System.out.println("Congratulations on completing the game!");
                break;
            }

            if(output.equals("take")) {
                String[] takeCommands = command.split(" ");
                Friend friend = gameData.getCurrentLocation().getFriendByName(takeCommands[3]);
                MovableObject item = friend.getInventory().getFromInventoryByName(takeCommands[1]);

                if(player1.getInventory().addItemToInventory(item)){
                    friend.getInventory().dropFromInventory(item.getObjectName());
                    System.out.print(friend.getName()+" has given you "+ item.getObjectDescription());
                }else {
                    System.out.print("What item?");
                }
                
                
            }else if(output.equals("fight")) {
                String[] fightCommands = command.split(" ");
                Enemy enemy = gameData.getCurrentLocation().getEnemyByName(fightCommands[1]);
                MovableObject weapon = player1.getInventory().getWeapon(fightCommands[3]);
                boolean playerWin = combatStartFight(enemy, weapon, player1);

                if(playerWin == false) {
                    System.out.println("You've lost the game!");
                    break;
                }

                System.out.println("You have successfully beaten " + fightCommands[1] + "!");
                System.out.print("You currently have:\n\t- " + player1.getHealth() + " health points\n\t- ");
                System.out.println(player1.getStrength() + " strength points");
                System.out.println(gameData.getCurrentLocation().getLongDescription());    
                System.out.println(gameData.getCurrentLocation().getLocationCharacters());
                System.out.println(gameData.getCurrentLocation().getLocationItems());
                System.out.print(gameData.getCurrentLocation().getExits());
                
            }else if(output.equals("save")) {
                if(gameData.getSavedGames().contains(command.split(" ")[3])) {
                    System.out.print("Are you sure you would like to overwrite this game save?\n[yes/no] : ");
                    command = commandsParser.getCommand();

                    if(command.equals("yes")) {
                        saveGame();
                        System.out.print("The game has successfully been saved as '" + gameData.getName() + "'");
                    }else{
                        System.out.print("Saving game aborted.");
                    }
                }else{
                    saveGame();
                    System.out.print("The game has successfully been saved as '" + gameData.getName() + "'");
                }
            }else if(output.equals("load")) {
                System.out.print("You cannot load a saved game whilst in game. Please go into pregame mode first.");
            }else{
                System.out.print(output);
            }
        }
        System.out.println("Thanks for playing!");
    }