more documentation, more complete examples, message logger