integration with composer