CORE THINKING ROUTINES