"Fixing" stuff and making it make more sense in object oriented format