Assignment 2 completed code