split into 2 process Generate and Tag