DO NOT use fixed `bufSize`