merging shubham code + bugFixes