refactoring
add tests