some refactored routing methods; cleanup & refactoring