assignment 5, part 2, source code and graphics