We don't really use this approach anywhere else afaik, can we use the arguments coming in from the loop to make it consistent?