review comments 1
add tests