let's use a record to keep these arguments around