Adding assignment details and provided files to repo
anwered the high level view and other questions that were appropriate to answer before coding the solution