simplify slice caching
remember to restore slice adaptor