Greatly refactored, moved removeFromList to ListOps