DO NOT INTEGRATE

Added some stuff temporarily for assignment submission.
A lot off these changes will either be removed, updated,
or moved in to separate pull requests in the future.