adapted composer.json