Adding JavaDocs

Adding JavaDocs and Technical Design Document