refactor everything. route.js become flat.js