modified assignment1