implement remove