updated docs
more tests. more coverage