ENHANCEMENT: add composer.json