everything is good except bitwise ops