avoid overflow on 32bit systems