Class renamed and javadoc added for explanation