i-router refactoring