add unit test
supplement document