functional player switch