cleaning, commenting, adding functionality

Changed some names to make things inherit better (so less retyping of
code)