add examples.
improved examples, documentation and tests.