tests and documentation
more tests