added more tests & docs