#47 added javadocs