Split processing in 3 steps to allow better manageent of TX over long running process