using lists of promise handlers