Some part done. Pushed on request of Girish 2