change to bitwise operation