add more tests
add todo