assignment 10 from Fangyun Sun