diff --git a/classes/obmc-phosphor-utils.bbclass b/classes/obmc-phosphor-utils.bbclass
index 036af9b..b5073a6 100644
--- a/classes/obmc-phosphor-utils.bbclass
+++ b/classes/obmc-phosphor-utils.bbclass
@@ -27,3 +27,18 @@
 
 def listvar_to_list(d, list_var, sep=' '):
     return filter(bool, (d.getVar(list_var, True) or '').split(sep))
+
+
+def compose_list(d, fmtvar, *listvars, **kw):
+    import itertools
+    fmt = d.getVar(fmtvar, True)
+    lists = [listvar_to_list(d, x) for x in listvars]
+    lst = [fmt.format(*x) for x in itertools.product(*lists)]
+    return (kw.get('sep') or ' ').join(lst)
+
+
+def compose_list_zip(d, fmtvar, *listvars, **kw):
+    fmt = d.getVar(fmtvar, True)
+    lists = [listvar_to_list(d, x) for x in listvars]
+    lst = [fmt.format(*x) for x in zip(*lists)]
+    return (kw.get('sep') or ' ').join(lst)
