added commentary to all classes