first full commit: classes completed and javadoc