nate trank's csc471 final