Finished cleaning up project code and adding javadoc