implement remove, save, and count