more documentation and test examples