routing with catalog done, refactoring left to do