refactored how collections are maintained