Committing solution to problem 2