refactor test
add more tests