add reduce and plus
complete