adding solution to problem 23