add some docs and example