added javadoc to abstract classes