#69 - implemented.
#69 - refactoring.
#69 - refactoring.
#69 - refactoring.
#69 - added readme info.