recognize: more recognition logic