shadows outer variable