update api, cbe and impl