add implementation
add tests
bump to 0.0.2