cb shouldn't be optional.