new class
updated javadoc