Prog 3 assignment