enhancements made by sanjeet
changes made by viraj
enhancements made for v2
changes made in v2