ticket:13 tests
ticket:13 tests done
ticket:13 refactoring
fixed merge conflict