modify assignment 5