change buffer structrue