Problem 5 + Minor Changes