implement remove and position