updated source.  better javadocs