refactor autoload and add many composer.json