use division instead of shift