bug algorithm