added bitwise operations