add

    default: assert(false); // shold not get here