worked on #29, added documentation