Thinking: the building blocks