set some starting value, we'll call it result loop over some set of data maybe update the result depending on the current data done! (: return the result what have we used this pattern for so far? min max cumulative sum counting