Using autoload, refactoring and reorganizing