Wait this thing depends upon promises fvck.