add tests
add benchmark