simplify interface, add more documents