use component/reduce