renamed example, added lots of more material