add underscore module and optimize route