This is my coursera assignment.