bi_list implementation and unit testing done