assignment5 from Fangyun Sun