Improves documentation and adds lots of examples.