update doc
refactore client