Added several javadoc comments across the classes