Add support for multiple programs and use the history class
Add some more examples