public boolean remove(int x, int y, Piece piece) {
        if (! pieceFits(x, y, piece)) return false;

        Pos center = piece.getCenter();
        int cx = x - center.x;
        int cy = y - center.y;

        for (int px = 0; px < piece.getWidth(); px++) {
            for (int py = 0; py < piece.getHeight(); py++) {
                if (piece.get(px, py)) {
                    set(cx + px, cy + py, false); //remove block under piece
                }
            }
        }
        pieceCount ++;
        return true;
    }