Lots of changes made, code written, and a small example.