add more tests
refacoring
one more test