add examples and tests