Done with issue 5, added comments and javadoc comments to all files to provide clarity