Integrate changes from upto f69d425cac7d0e3493e4d28f8dd25a405043fb24