with reducers