switchable code type