add, buffer and diff operation