use bit move instead of integer divition