Assignment #6 for CSC207