assignment 6, part 2, source code