Changed to define classes instead of part of the classes make for a cleaner syntax
some clean up