add Process() function