What kind of recognizer to you use? Do you have a trained model behind it or it's just pure algorithmics?