adding GenerateName
refactoring BNode (naming)