retire nswitch. taskyield returns void