completed upto Excercise 20