Support package statement at block level
diff --git a/plyxproto/parser.py b/plyxproto/parser.py
index 4c80f6f..72899e1 100755
--- a/plyxproto/parser.py
+++ b/plyxproto/parser.py
@@ -441,24 +441,17 @@
         p[0] = OptionStatement(Name(LU.i(p, 2)), LU.i(p,4))
         self.lh.set_parse_object(p[0], p)
 
-    # topLevelStatement = Group(message_definition | message_extension | enum_definition | service_definition | import_directive | option_directive)
+    # topLevelStatement = Group(message_definition | message_extension | enum_definition | service_definition | import_directive | option_directive | package_definition)
     def p_topLevel(self,p):
         '''topLevel : message_definition
                     | message_extension
                     | enum_definition
                     | service_definition
                     | import_directive
+                    | package_directive
                     | option_directive'''
         p[0] = p[1]
 
-    def p_package_definition(self, p):
-        '''package_definition : package_directive'''
-        p[0] = p[1]
-
-    def p_packages2(self, p):
-        '''package_definition : empty'''
-        p[0] = []
-
     def p_statements2(self, p):
         '''statements : topLevel
                       | statements topLevel'''
@@ -473,8 +466,8 @@
 
     # parser = Optional(package_directive) + ZeroOrMore(topLevelStatement)
     def p_protofile(self, p):
-        '''protofile : package_definition statements'''
-        p[0] = ProtoFile(LU.i(p,1), LU.i(p,2))
+        '''protofile : statements'''
+        p[0] = ProtoFile(LU.i(p,1))
         self.lh.set_parse_object(p[0], p)
 
     # Parsing starting point