diff --git a/lib/bud/provenance.rb b/lib/bud/provenance.rb
index <HASH>..<HASH> 100644
--- a/lib/bud/provenance.rb
+++ b/lib/bud/provenance.rb
@@ -19,6 +19,7 @@ class Bud
     end
     def final(state)
       "agg[#{@budtime}](" + state.join(";") + ")"
+
     end
   end
 
@@ -26,17 +27,11 @@ class Bud
     [ProvConcatenate.new, x]
   end
 
-
   # the scalar UDF for this particular provenance implementation
   def prov_cat(rule, *args)
     return "r#{rule}[#{@budtime}](" + args.join(": ") + ")"
-    args.each do |sg|
-      d.append(sg)
-    end
-    return d
   end
 
-
   # pretty printing stuff
   def tabs(cnt)
     str = ""
@@ -76,8 +71,9 @@ class Bud
   end
 
   def whence(datum)
-    print "WHENCE(#{datum.inspect}) ?\n\n"
-    prov = datum[datum.length - 1]
+    copy = datum.clone
+    prov = copy.pop
+    print "WHENCE(#{copy.inspect}) ?\n\n"
     whence_p(prov, 0)
   end
oops, a little cleanup