Updated all the recent changes done for learning purpose.