Potential solution to 50
Problem 50