This is assignment 3.