hw1 source files provided