process data function added