Autoloader, split into small classes