controlled switching