Cleaned up the project and added javadoc comments