added reduce transform