Implement hardware switching and change types