more documentation and examples