implementa cache