add substring search code BMP TODO