alternates: store scratch buffer as strbuf