interface, autoloader