change to Reducer