updated comments, package structure, generated javadoc