add tests and examples
refine doc
add more example