introduced composer.lock