more exact length calculations