added improved promise-grouping tools (close #4)