add tests
add logs