Finished hw2_part01