top level decl and module parsing