Better Version. Assignment 02 #37.