main decl