added bitwise functions