Changing some variable names, comments to make the code more understandable.
Added 'rationale' section to readme.