add reduce and Sum