invoke noblocking