allowed pipelined promises
implemented retry (untested)