some refactoring, added collection results page