add UT and clean example