updated assignment 3