work in progress, updated javadoc