add more tests
update docs