documentation update and full test coverage