update timestamps properly, so cache invalidation works properly