Made it more object oriented, and thus unquestionably better I guess