Advanced Programming Assignment 6