Mode switching implementation