reorganzing, adding stuff, extended class