implemented todo feature number 4 and made some enhancement