Add tests and examples