avoid unnecessary yields