updated reduce to force scope binding