updated assignment 12