Merging changes from Suresh and Amrit's work.