use BUF_SIZE