add tests
add readme, comments