Unit tests and documentation