works with AUTOLOAD