refactor router, current project won't always be the first now
now we can set current_category and current_exception