Thinking and Problem Solving by Nicky Hayes & Philip Banyard