refactoring + bp network initial commit
bp tests + implementation