added bitwise math