documentation and examples added