abstracted recognition.start