Cherry picking stuff.
Merge branch 'master' of https://github.com/DArtagan/csci306-final
Removed conflict.