Freelancer:
prasantasharma88
Revised version for #30&37
Changes as per your requirement