critical thinking systems