Changed some variable names to make things more clear.  Added Javadocs
to methods for easier understanding.