switched where satisfication detection happens