added shouldRecognize option