Assignment 3 programming