typo
diff --git a/Lib/compiler/pycodegen.py b/Lib/compiler/pycodegen.py
index 904d066..3ba31e4 100644
--- a/Lib/compiler/pycodegen.py
+++ b/Lib/compiler/pycodegen.py
@@ -45,7 +45,10 @@
     def compile(self, display=0):
         tree = parse(self.source)
         root, filename = os.path.split(self.filename)
-        gen = ModuleCodeGenerator(filename)
+        if "nested_scopes" in future.find_futures(tree):
+            gen = NestedScopeCodeGenerator(filename)
+        else:
+            gen = ModuleCodeGenerator(filename)
         walk(tree, gen, 1)
         if display:
             import pprint
@@ -646,7 +649,7 @@
 
     def visitAugSlice(self, node, mode):
         if mode == "load":
-            self.visitlSice(node, 1)
+            self.visitSlice(node, 1)
         elif mode == "store":
             slice = 0
             if node.lower:
@@ -889,10 +892,8 @@
         self.graph = pyassem.PyFlowGraph("<module>", filename)
         self.__super_init(filename)
         self.symbols = None
-        self.future = None
 
     def visitModule(self, node):
-        self.future = future.find_futures(node)
         self.symbols = self.parseSymbols(node)
         self.__super_visitModule(node)
 
@@ -900,6 +901,9 @@
         # XXX not implemented
         return None
 
+class NestedScopeCodeGenerator(ModuleCodeGenerator):
+    pass
+
 class FunctionCodeGenerator(CodeGenerator):
     super_init = CodeGenerator.__init__
 
diff --git a/Tools/compiler/compiler/pycodegen.py b/Tools/compiler/compiler/pycodegen.py
index 904d066..3ba31e4 100644
--- a/Tools/compiler/compiler/pycodegen.py
+++ b/Tools/compiler/compiler/pycodegen.py
@@ -45,7 +45,10 @@
     def compile(self, display=0):
         tree = parse(self.source)
         root, filename = os.path.split(self.filename)
-        gen = ModuleCodeGenerator(filename)
+        if "nested_scopes" in future.find_futures(tree):
+            gen = NestedScopeCodeGenerator(filename)
+        else:
+            gen = ModuleCodeGenerator(filename)
         walk(tree, gen, 1)
         if display:
             import pprint
@@ -646,7 +649,7 @@
 
     def visitAugSlice(self, node, mode):
         if mode == "load":
-            self.visitlSice(node, 1)
+            self.visitSlice(node, 1)
         elif mode == "store":
             slice = 0
             if node.lower:
@@ -889,10 +892,8 @@
         self.graph = pyassem.PyFlowGraph("<module>", filename)
         self.__super_init(filename)
         self.symbols = None
-        self.future = None
 
     def visitModule(self, node):
-        self.future = future.find_futures(node)
         self.symbols = self.parseSymbols(node)
         self.__super_visitModule(node)
 
@@ -900,6 +901,9 @@
         # XXX not implemented
         return None
 
+class NestedScopeCodeGenerator(ModuleCodeGenerator):
+    pass
+
 class FunctionCodeGenerator(CodeGenerator):
     super_init = CodeGenerator.__init__