add doc
refine List