refined the API, add more docs
3 files changed