Better OO structure and more examples.