doc and test.