use bit operation