move autoloader to its own file