support switch preference