dip2
work on bit-level operations