protected void movePiece(HantoCoordinate from, HantoCoordinate to, HantoPieceType pieceType) throws HantoException{
		if (!getCurrentPlayer().getPiecesRemaining().contains(pieceType) && from == null){
			throw new HantoException("None of those pieces remaining");
		}
		HantoCell toCell = new HantoCell(to.getX(), to.getY());
		HantoBasePiece piece = generatePiece(from, pieceType);
		
		if (from == null && gameManager.getCellManager().isAdjacentToEnemy(toCell, gameManager.getPlayerTurn())){
			if (gameManager.getTurnCount() > 1){
				throw new HantoException("Can't place piece next to enemy.");
			}
		} else if (from != null){
			HantoCell fromCell = new HantoCell(from.getX(), from.getY());
			gameManager.getCellManager().remCell(fromCell);
			if (!gameManager.getCellManager().isLegalMovement(fromCell, toCell, piece)){
				throw new HantoException("Illegal Movement");
			}
		}
		gameManager.getCellManager().addCell(to.getX(), to.getY(), HantoPieceFactory.makeHantoPiece(pieceType, gameManager.getPlayerTurn()));
	}