added some unit test