Completed solution.