add tests
fix documentation and Changes