autoloading classes and registering providers