Assignment 4.1

Also has changes that were suggested for README.md and assignment 3.1.
this is a pretty cool approach.