fix bitwise bug