Added documentation to units, fixed stylistic errors, removed overly complex inheritance schemes