Restructure and add composer.json