saves an additional length c