refactor - no cb