generalize device setting