#30003 refactor product

@texasag , @prabinv and @hippee-lee Please code review. I also have corresponding PR in toolbox