added bitwise ops, fixed precedence, etc