private String validatePositions(int iStart, int iDest) {
        //Validate direction
        if(iStart < iDest) return "You cannot move backwards";

        //Validate iStart
        if(getActualPip(iStart).getNumCheckers(currentPlayer.getId()) == 0) {
            return "You do not have a check on pip " + iStart;
        }

        //Validate iDest
        if(getActualPip(iDest).getNumCheckers(nonCurrentPlayer().getId()) > 1) {
            return "Desitination Pip is occupied";
        }

        //Validate Bar
        if(iStart != 25) {
            if(getActualPip(25).getNumCheckers(currentPlayer.getId()) > 0) {
                return "You must move off Bar first";
            }
        }

        //Validate Home Board
        if(iDest == 0) {
            int checkersOffHome = 0;
            for(int i = 25; i > 6; i--) {
                checkersOffHome += getActualPip(i).getNumCheckers(currentPlayer.getId());
            }
            if(checkersOffHome > 0) return "You must move all checkers to home first";
        }
        
        return null;
    }