adding tests and examples