refactor api, router regexp powered