wrapped up router refactoring, working on tying save together with load