refactor with B.