Updated with javadoc