better and more flexible bundle loading structure