switched wait mechanism
switched wait mechanism