Lots of changes to be a more complete example for an intro session