added 'remove' implementation