[major] change way we load components and require module on route entry