now uses require instead of autoload