database driven, c++ based libpuzzle matcher