Added in JavaDocs for all important classes