is to not shallow the outer variable