added documentation JavaDocs