first version with composer dependencies