documentation examples and tests