updated assignment 2