update comments
update tests
update README.md