completed code for assignment 2