added documentation to several classes