fiberize API, looks more imperative now