Abstracted Tools and added a solution to problem 35.