modify the definition and buffer