Finished Refactor. Probably does not run, but w/e