Submission Process Refactor

#259
#109