added the autoload function ton to load modules when needed