implement bp
bp and tests