added drafts for remove() and add() methods (not tested)