refractored interface names, update javadoc