tests and doc