Quick and dirty modifications to the @danray0424 original to sorta OOify the basic methods.