full Documentation added using RDoc
the Whole code is Commented.