Added javadocs to classes and interfaces