completed class and javadocs