hmmm... does the first sample always contain all the commands that are going to be used? Maybe we need to pass the list of commands to store as columns to the csv.go constructor?