more complete composer.json