correct unit, avoid overflow