add bisect method