returns 1 value per each when item
now all promise resolutions can take multiple values