switch machines