add more example code and docs