offline processing