Switch runner list generation to promise