adaptive shortening