first pass at data processing