separate scratch buffer