need @utils.inlined_callbacks