Added doc and addressed most of the recent comments
Revert "Added doc and addressed most of the recent comments"

This reverts commit bcec83702c17d783db96dee060810283103b0d92.
Revert "Revert "Added doc and addressed most of the recent comments""

This reverts commit cea3e57268d708509c6781ae009fc35c65196acf.