works for everything but leading zeros