Kevin Shih’s assignment 2