improve doc, test doc