New chainable api. Still asynchronous