**buffer construct**random