add tests
refactor - make more easy