documentation with some examples