add bi_w function