use counterpart
add tests
better example
update readme