add VarSet and custom channel class support