#6 added JavaDocs for each class.