refactoring BNode constructor