added remove and update for shelves