added JavaDocs