add test and test unit