make remove() much more useful