Mental Models For Thinking