first pass data saving