add API class and UT class