switched to arithmatic shift instead of logical shift