initial commit, complete up to exercise 8
merge conflict resolved