multi-promise works but out of order