add BM algorithm