first updated assignment 2