added pre-process interation