Added javadocs everywhere