Final working and tested submission. Does not impliment last optional part of the lab.