avoid unnecessary closure creation