Added javadocs and styling