Homework #2 submission by Jack Ni