some refactoring
updated composer.lock