all switches implemented
all switches implemented