maybe expand is the wrong name of the method now but in reality it only copy the old cumulation into a new buffer that can also hold the new data.