Addressing review comments

Addressed most of the review comments while adding extra documentation
on public user facing methods