add test and example