revamp this class
add a little to javadoc