added documentation with a few examples