chisel out the structure of the update methods