avoid integer overflow for the win