added bitwise ops