refactor for CB2