Merge Step 4

Created the new run() function in the new class.

Modified the other classes accordingly.