added bitwise operation