diff --git a/classes/obmc-phosphor-utils.bbclass b/classes/obmc-phosphor-utils.bbclass
index 44ca7ad..036af9b 100644
--- a/classes/obmc-phosphor-utils.bbclass
+++ b/classes/obmc-phosphor-utils.bbclass
@@ -15,3 +15,15 @@
     return value if df_enabled(feature, value, d) \
         and mf_enabled(feature, value, d) \
             else ""
+
+
+def set_append(d, var, val, sep=' '):
+    values = (d.getVar(var, True) or '').split(sep)
+    if filter(bool, values):
+        d.appendVar(var, '%s%s' %(sep, val))
+    else:
+        d.setVar(var, val)
+
+
+def listvar_to_list(d, list_var, sep=' '):
+    return filter(bool, (d.getVar(list_var, True) or '').split(sep))
