can use done() instead of spread()