[¶ 1] Rangeley Crossroads Coalition (Coalition) appeals, pursuant to 12 M.R.S. § 689 (2007) and M.R. Civ. P. 80C, from a judgment of the Superior Court (Franklin County, Jabar, J.) affirming a decision of the Land Use Regulation Commission (LURC) to authorize Nestle Waters North America, Inc.’s (Nestle) proposed water extraction facility in Dallas Plantation, Franklin County. The Coalition argues that (1) LURC’s decision was arbitrary, capricious, legally erroneous, and unsupported by competent evidence in the record, and (2) the category of permitted use under which Nestle’s application was approved is unconstitutional on its face and as applied, we affirm the judgment.
I. CASE HISTORY
[¶ 2] In early 2005 Nestle secured an option to purchase approximately 1000 acres off Redington Road in Dallas Plantation. The site is within LURC’s jurisdic*226tion and is subject to the LURC’s Land Use Districts and Standards for areas within its jurisdiction. See 4 C.M.R. 04 061 010-1 to -174 ch. 10 (2006-2007) (LURC Rules). Under the LURC Rules, the site is primarily located within a general management subdistrict (M-GN). See 4 C.M.R. 04 061-51 to -53 § 10.22 (2006). Under the site is an aquifer that feeds the Dead River and that is the source for the drinking water that the Rangeley Water District (RWD) provides to the Town of Rangeley and nearby townships and plantations. Access to the site is either via Route 16, which passes from Stratton and Kingfield on the north, or through the center of downtown Rangeley to the south.
[¶ 3] On July 19, 2005, Nestle submitted to LURC an application for a development to permit Nestle to construct a commercial groundwater extraction and truck load-out facility on the site. This facility would be visited by a number of tanker trucks, which would load up with water and then would transport the water south on Route 16, through downtown Rangeley, to Nestle’s bottling plants in Hollis, Poland Spring, and Kingfield. Nestle applied for permission to construct the facility under the regulations governing the M-GN sub-district.
[¶ 4] The spring source on the site is approximately three miles off Route 16, along the private gravel Redington Road. This spring has its origin in the aquifer mentioned above, and prior to LURC’s decision, Nestle reached agreement with RWD regarding use of that aquifer.
[¶ 5] After Nestle submitted its application, LURC granted intervener status to RWD, the Town of Rangeley, and the Dallas Plantation Assessors. In November 2005, a public hearing was scheduled concerning the application. On the eve of the hearing, Nestle and RWD entered into an agreement to resolve RWD’s concerns and to secure its support for Nestle’s application. The Assessors continued to oppose the proposed facility.
[¶ 6] During the public hearing, the Assessors and the Coalition spoke against the facility. After the hearing, LURC accepted written comments. The LURC staff then issued a decision recommending that LURC approve Nestle’s application.
[¶ 7] LURC again solicited written comments concerning the items discussed in the staffs recommended decision. At its deliberations meeting on March 13, 2006, the LURC commissioners heard a presentation by LURC staff and accepted testimony from Nestle, RWD, the Town of Rangeley, and the Coalition. Other agencies reviewed Nestle’s application, including the Maine Department of Environmental Protection, the Maine Department of Human Services Drinking Water Program, the Maine Department of Transportation, the Maine Department of Inland Fisheries and Wildlife, the Maine Geologic Survey, the Maine State Soil Scientist, and the Maine Natural Areas Program. The agencies had an overall positive opinion of Nestle’s project, and were concerned only about the adequacy of water level monitoring. LURC voted five-to-one to grant Nestle a development permit for the facility and required a more stringent monitoring regime in response to agency concerns. LURC found that Nestle’s project satisfied Categories 6 and 29 in combination, and also Category 30, of its regulations.
[¶8] Part of the agreement between Nestle and RWD stipulated that Nestle’s water withdrawal will not cause an unreasonable adverse effect on RWD’s wells. It was also stipulated that Nestle will negotiate a set of festival days with the Town of Rangeley when Nestle’s trucks will not be routed through the town. The agreement also provided that Nestle will not route more than two trucks per hour through *227the town between 9:00 am. and 5:30 p.m. The permit also required Nestle to form and report on the activities of a Traffic Management Committee, which is to include representatives from the Town of Rangeley and Dallas Plantation, in order to monitor traffic connected to the facility and ensure that it does not cause undue adverse effects. In its approval of Nestle’s application, LURC noted that traffic through downtown Rangeley will increase no more than 1.4% and the level of service will remain the same, so increased congestion is not indicated.
[¶ 9] On appeal to the Superior Court, the court vacated LURC’s finding that the proposed facility was an allowable use pursuant to Categories 6 and 29 of its rules, but the court upheld LURC’s determination that the use was permitted under Category 30. See 4 C.M.R. 04 061 010-52 to -53 § 10.22(A)(3)(c)(6), (29), (30) (2006).
II. DISCUSSION
[¶ 10] When the Superior Court acts in an intermediate appellate capacity pursuant to M.R. Civ. P. 80C, we review the administrative agency’s decision directly for an abuse of discretion, error of law, or findings not supported by the evidence. Tremblay v. Land Use Regulation Comm’n, 2005 ME 110, ¶ 13, 883 A.2d 901, 904; Downeast Energy Corp. v. Fund Ins. Review Bd., 2000 ME 151, ¶ 13, 756 A.2d 948, 951. Whether a proposed use falls within a given category contained in a zoning ordinance is a question of law. C.N. Brown Co. v. Town of Kennebunk, 644 A.2d 1050, 1051 (Me.1994). We give great deference to an administrative agency’s construction of a statute administered by it. Gulf Island Pond Oxygenation Project P’ship v. Bd. of Envtl. Prot., 644 A.2d 1055, 1059 (Me.1994). We therefore do not substitute our own judgment for that of the agency and must affirm findings of fact if they are supported by substantial evidence in the record. Int’l Paper Co. v. Bd. of Envtl. Prot., 1999 ME 135, ¶ 29, 737 A.2d 1047, 1054. We examine the entire record to determine whether the agency could fairly and reasonably find the facts as it did. Id. We will also not set aside an agency’s interpretation of its own internal rules, regulations, or procedures unless the rules or regulations plainly compel a contrary result. Downeast Energy Corp., 2000 ME 151, ¶ 13, 756 A.2d at 951. Thus, an agency’s interpretation will not be upheld if it is contradicted by the language and purpose of the statute. Gulf Island, 644 A.2d at 1059. We avoid expressing opinions on constitutional law whenever a non-constitutional resolution of the issues renders a constitutional ruling unnecessary. Your Home, Inc. v. City of Portland, 432 A.2d 1250, 1257 (Me.1981).
[¶ 11] Because we find that Nestle’s proposed use is permitted under Category 30 of the uses permitted in the M-GN subdistrict by the LURC Rules, we do not consider whether it would be permitted under Categories 6 and 29. The Coalition argues that Category 30 is unconstitutional on its face because it provides no intelligent guidance as to permissible uses and provides no meaningful constraints on LURC’s discretion. The Coalition also argues that Category 30 is unconstitutional as applied in this case because LURC used it to permit Nestle’s proposed use, which is inconsistent with the forestry and agricultural uses protected by Category 30. We consider the Coalition’s argument that Category 30 is facially unconstitutional first.
[¶ 12] We have held that statutes are void for vagueness when they fail “to furnish a guide which will enable those to whom the law is to be applied to reasonably determine their rights thereunder, and [which will assure] that the determina*228tion of those rights will not be left to the purely arbitrary discretion of the adminis-trat[ive agency].” Lentine v. Town of St. George, 599 A.2d 76, 78 (Me.1991) (quotation marks omitted) (alterations in original). Under this test, Category 30 is not void for vagueness.
[¶ 13] Category 30 permits, in the MGN subdistrict, “[o]ther structures, uses, or services which the Commission determines are consistent with the purposes of this subdistriet and of the Comprehensive Land Use Plan and are not detrimental to the resources or uses they protect.” 4 C.M.R. 04 061 010-53 § 10.22(A)(3)(c)(30) (2006).
[¶ 14] The rules thus require three things for a use to fit within Category 30:(1) LURC must determine that the use is consistent with the purposes of an MGN subdistrict; (2) LURC must determine that the use is consistent with the Comprehensive Land Use Plan (CLUP); and (3) LURC must determine that the use is not detrimental to the resources or uses that the M-GN subdistrict and the CLUP protect. All of these criteria provide limits to LURC and guidance to others as to which uses are permitted and which are not.
[¶ 15] First, the LURC Rules state that the purpose of the M-GN subdistrict is “to permit forestry and agricultural management activities to occur with minimal interferences from unrelated development in areas where the Commission finds that the resource protection afforded by protection subdistricts is not required.” 4 C.M.R. 04 061 010-51 § 10.22(A)(1) (2006). Therefore, uses that are unrelated to forestry or management activities will be allowed only if they minimally interfere with such activities and if they do not result in a need for resource protection.
[¶ 16] Second, Category 30 explicitly requires that any use be consistent with the CLUP. The CLUP extensively describes the goals, policies, and uses to be pursued in LURC’s jurisdiction. This description evinces a desire to develop the jurisdiction economically while at the same time preserving its environment. LURC is clearly limited by this description, and others will be guided by it.
[¶ 17] Third, LURC can approve only uses that are not detrimental to the resources that the M-GN subdistrict and the CLUP protect.1 This certainly limits LURC in the uses it can permit and provides guidance to others.
[¶ 18] Because Category 30 provides three criteria that uses must meet and because each of these three criteria meaningfully limits LURC’s ability to approve uses and provides guidance to others as to permitted and prohibited uses, we conclude that Category 30 is constitutional on its face and is not void for vagueness.
[¶ 19] The Coalition also argues that Category 30 is unconstitutionally vague as applied in this case because to declare that Nestle’s proposed use is consistent with Category 30 means that “consistency” loses all meaning. Assuming, arguendo, that there is a constitutional question as to whether Category 30 is vague as applied, we do not reach it because, as we note above, Category 30 provides three criteria that uses must meet, and each of these *229criteria meaningfully limited LURC’s ability to approve the use proposed in this case. We now consider whether Nestle’s proposed use is consistent with Category 30.
[¶ 20] First, Nestle’s proposed use is consistent with the purposes of the M-GN subdistrict, described above. Nestle has presented evidence from experts that its proposed use will occupy one acre of land, preserve 999 acres as forest, and extract an amount of water that will not appreciably affect the source aquifer or surrounding surface waters. The Coalition did not present substantial evidence contrary to this position. This impact would likely amount to minimal or no interference to forestry and agricultural management activities in the region. Because there is no convincing evidence that the proposed use will threaten natural resources, the second part of the M-GN purpose statement is also satisfied.
[¶ 21] Second, the CLUP speaks in a number of places to proposed uses such as Nestle’s. It notes that LURC is charged with preventing “the despoliation, pollution and inappropriate use of the water.” Me. Dep’t of Conservation, Land Use Regulation Commission, Comprehensive Land Use Plan 79 (1997 rev.). The CLUP notes elsewhere that one apparently appropriate use of groundwater is for a “water bottling operation.” Id. at 82. The CLUP later notes that the goal for LURC’s jurisdiction over “water resources” is to “[p]reserve, protect and enhance the quality and quantity of surface and ground waters.” Id. at 138. Its policy is to “[r]egulate uses of land and water ... in order to prevent degradation of water quality and undue harm to natural habitats.” Id. Moreover, it seeks to “[require ... development standards [to] be met to protect water quality [and] water quantity....” Id. at 138-39.
[¶ 22] CLUP’s goals for the water in LURC’s jurisdiction are, in short, sustaining or improving the quality and quantity of water. Nestle has demonstrated that its proposed use will not negatively affect the quality or quantity of any water. The Coalition has not submitted substantial evidence to the contrary. These CLUP provisions alone would be adequate for LURC to approve Nestle’s proposed use. There is more, however.
[¶ 23] CLUP’s goal for development is to “protect and conserve forest, recreational, plant or animal habitat and other natural resources, to ensure the compatibility of land uses with one another and to allow for a reasonable range of development opportunities important to the people of Maine.” Id. at 140. CLUP’s goal for economic development is to balance “maintenance and creation of quality jobs, with protecting the environmental quality and special values of this area.” Id. at 141. The record presented to LURC demonstrated that the environmental impact of Nestle’s proposed use is negligible, while its impact on the creation of jobs would be positive, demonstrating a good fit with CLUP’s goals for reasonable development, quality jobs, and natural resource protection. Such a use would fit the M-GN subdistrict well, because that subdistrict, “as presently structured, assumes that many activities can co-exist without adversely affecting each other or the forest resource.” Id. at 49.
[¶ 24] Third, LURC must determine that the proposed use is not detrimental to the resources or uses that the M-GN subdistrict and the CLUP protect. This is the crux of the issue, and the record suggests that LURC could have found that Nestle’s proposed use would not be detrimental.
*230[¶25] For the above reasons, we conclude that Nestle’s proposed use is consistent with the requirements of Category 30. LURC did not abuse its discretion, err as a matter of law, or make findings not supported by the evidence.
The entry is:
Judgment affirmed based on finding regarding Category 30.
. Because the CLUP is meant to balance economic development with environmental protection, we do not think this means that any use that causes even slight environmental degradation to occur is to be prohibited. If that were the case, no buildings could be built in the M-GN subdistrict. Because this issue involves a proposed use that, the record shows, will have no appreciable negative environmental impact, we refrain from making a general ruling on the correct balance between economic development and environmental protection.