updated composer
added tests
updated classes