@Override
	public MoveResult makeMove(HantoPieceType pieceType, HantoCoordinate from,
			HantoCoordinate to) throws HantoException {
		MoveResult result = null;
		
		if(currentTurn.equals(HantoPlayerColor.BLUE)) {
			if(pieceType.equals(HantoPieceType.BUTTERFLY) &&
					from == null && to.getX() == 0 && to.getY() == 0) {
				result = MoveResult.OK;
				currentTurn = HantoPlayerColor.RED;
			}
			else {
				throw new HantoException("Illegal first move");
			}
		}
		else if(currentTurn.equals(HantoPlayerColor.RED)) {
			if(pieceType.equals(HantoPieceType.BUTTERFLY) &&
					from == null && isAdjacent(new BasicCoordinate(0, 0), to)) {
				result = MoveResult.DRAW;
			}
			else {
				throw new HantoException("Illegal move");
			}
		}
		
		return result;
	}