Computer aided thinking