implements BSR (contributes to #22)