Submission Process Refactor

#259 #190