Created classes for everything and generally refactored. Much cleaner to look at