modified assignment 1