add test and examples