assignment2 complete