assignment 3, 1 & 2 part