rename classes, add javadocs