Completed Problem 15 using new factorial class