This is a work in progress. Please make sure login and comment if you find any improvisation.