added reduction