This contains assignment 3.