public boolean causesCheck(Location from, Location to) {
		Team team = from.getPiece().team;
		Piece p = moveCheck(from, to);

		for (Location[] locs : boardState.places) {
			for (Location l : locs) {
				if (l.piece != null) {
					if (l.piece.team != team
							&& !deadPeople.contains(l.piece.team)) {
						for (Location moveLoc : l.piece.getMoves(l)) {
							if (moveLoc.piece != null
									&& moveLoc.piece.type == Type.KING
									&& moveLoc.piece.team == team) {
								moveCheck(to, from);
								boardState.places[to.y][to.x].piece = p;
								return true;
							}
						}
					}
				}
			}
		}

		moveCheck(to, from);
		boardState.places[to.y][to.x].piece = p;
		return false;
	}