caching
trimming