Homework #2 submission by Yifan Zhang