working list_of functionality. Still needs refactoring though.