
676 P.2d 1170 (1984)
LOUP-MILLER CONSTRUCTION CO., a corporation; Loup-Miller, a partnership; Loup-Miller Management Co.; Crestmoor-Downs Co.; Natasha Corporation; Mizel Realty Co.; First South Birch Company; First East Mexico Co.; Monaco Mortgage Co., a joint venture; F.I.G. Holding Co. II; Corsican Apartments, a joint venture; High Country Apartments, a joint venture; House of Rothschild, a joint venture; Casa Cordova Apartments, a joint venture; The Boardwalk Apartments, a joint venture; and Cedar Run Apartments, a joint venture, Plaintiffs-Appellants,
v.
The CITY AND COUNTY OF DENVER, a municipal corporation, Defendant-Appellee, and
Kal Zeff, Intervenor,
KWAL PAINTS, INC., a Colorado corporation; Titan Construction Co., a Colorado corporation; Mizel Commercial Contractors, Inc., a Colorado corporation; and Mizel Development Corporation, a Colorado corporation, on behalf of themselves and all other persons similarly situated, Plaintiffs-Appellants,
v.
The CITY AND COUNTY OF DENVER, a municipal corporation, Defendant-Appellee.
No. 82SA121.
Supreme Court of Colorado, En Banc.
February 14, 1984.
*1172 James H. Downey, Goldstein & Armour, P.C., Denver, for plaintiffs-appellants.
Stephen H. Kaplan, City Atty., Steven J. Coon, George J. Cerrone, Jr., Asst. City Attys., Denver, for defendant-appellee City and County of Denver.
DUBOFSKY, Justice.
This is an appeal[1] from a judgment of the Denver District Court upholding the constitutionality of City and County of Denver (Denver) Municipal Ordinances Nos. 582 and 583, Series 1973, which governed charges and fees to finance the city's sanitary sewer facilities.[2] The plaintiffs, Loup-Miller Construction Co., et al., are owners, managers, agents, and builders of apartment buildings who have allegedly paid sewer bills calculated under ordinance 582 and commercial entities who have received bills for the facilities development fee authorized by ordinance 583.[3] The *1173 plaintiffs sought declaratory and injunctive relief and a refund of fees paid under the ordinances, which relief was denied by the district court. We affirm the district court judgment.
Ordinance 582 created a category of sewer customers called "residential multiple unit dwelling buildings" (apartment buildings). Under the ordinance, apartment buildings were charged either a minimum service fee per "available unit of occupancy" or a fee calculated in accordance with Article 167.2-1(3) of the Revised Municipal Code of Denver (which governed sewer service charges for commercial and industrial customer classes), whichever was greater. Under Article 167.2-1(3) sewage rates for commercial and industrial customers were 95% of the amount charged by the Denver Board of Water Commissioners (water board) for those customers' water consumption.[4] Ordinance 582 resulted in a considerable increase in sewage bills for apartment buildings. According to testimony at trial the Wastewater Division of the Denver Public Works Department (public works department) recommended the increase to Denver City Council (city council) because apartment customers had not been paying their fair share of sewage costs. When apartment buildings' sewage charges were calculated solely as a percentage of water bills, the sewage charges reflected a quantity discount scheme utilized in calculating water bills. Because apartment buildings generally are metered as one customer, apartment residents were able to take advantage of the lower rates charged by the water board to large customers. Those who lived in single-family residences, on the other hand, were unable to take advantage of quantity discounts and therefore, prior to enactment of ordinance 582, paid proportionately more than did apartment dwellers for sewage service.
Ordinance 583 established a "facilities development fee," a one-time sewer charge to be paid by new customers when they were connected to the city's sanitary sewer system. According to testimony at trial, this fee was to defray the cost of expanding the system's treatment capacity for potential increased use by new customers.
The plaintiffs assert that: (1) ordinance 582 denied apartment building owners equal protection of the laws since, under the ordinance, the sewage bills for apartment buildings were calculated differently from those of other classes of customers; (2) ordinance 583 denied new sewer customers equal protection since it required only new customers to pay the facilities development fee; (3) several provisions of ordinances 582 and 583 were unconstitutionally vague; (4) the ordinances impermissibly provided for non-uniform property taxes; (5) ordinance 582 unconstitutionally delegated to the water board the power of city council to set sewage rates; and (6) ordinance 583 unconstitutionally delegated to the public works department city council's power to impose sewer charges.

I.
The plaintiffs claim that the ordinances violated the equal protection clauses of the United States and Colorado Constitutions. U.S. Const. Amend. XIV; Colo. Const. Art. II, Sec. 25. The equal protection doctrine does not require that "`all persons be dealt with identically, but it does require that a distinction made have some relevance to the purpose for which the classification is made.' Baxstrom v. Herold, 383 U.S. 107, 86 S.Ct. 760, 15 L.Ed.2d 620 (1966)." People v. Chavez, 629 P.2d 1040 (Colo.1981). Except for cases involving fundamental rights or suspect classifications not at issue here, equal protection requires only that the distinctions *1174 made be rationally related to legitimate governmental purposes. People v. Velasquez, 666 P.2d 567 (Colo.1983); Dawson v. Public Employees' Retirement Association, 664 P.2d 702 (Colo.1983); People v. Montoya, 647 P.2d 1203 (Colo.1982); Colorado Auto & Truck Wreckers Association v. Department of Revenue, 618 P.2d 646 (Colo.1980). A legislative act is presumed constitutional; the burden is upon the party attacking it to establish its unconstitutionality beyond a reasonable doubt. Dawson v. Public Employees' Retirement Association, supra; People v. Alexander, 663 P.2d 1024 (Colo.1983); Bollier v. People, 635 P.2d 543 (Colo.1981); People in the Interest of C.M., 630 P.2d 593 (Colo. 1981). In this case, the plaintiffs have failed to overcome the presumption of constitutionality.
At trial, the plaintiffs argued that, because the minimum fee mandated by ordinance 582 applied only to apartment buildings,[5] the ordinance caused the sewage rates charged to apartment buildings to be calculated differently than those charged to single-family residences, and that ordinance 582 raised by a considerable amount the sewage rates for apartment buildings. The evidence showed, however, that even after ordinance 582 was in effect, average sewage charges per resident remained lower for apartment buildings than for single-family residences. Although the plaintiffs contend that there may be better ways to equalize sewage rates for residential customers, the equal protection clauses do not require that city council select the best possible method for allocating sewage costs. Smith v. Charnes, 649 P.2d 1089 (Colo.1982).[6] We agree with the district court that the record is sufficient to establish a rational basis for the distinction made by ordinance 582 between single-family residences and apartment buildings.
The plaintiffs also assert that the application of the minimum rate per unit under ordinance 582 unconstitutionally distinguished apartment buildings from commercial buildings such as hotels or office buildings. The plaintiffs did not present evidence at trial to establish that apartment buildings and commercial buildings are similarly situated. See People v. Layton, 200 Colo. 59, 612 P.2d 83 (1980). Absent any evidence to the contrary, we presume that city council may rationally distinguish between apartment buildings and other commercial buildings in calculating sewage rates. Millis v. Board of County Commissioners of Larimer County, 626 P.2d 652 (Colo.1981); Sweeney v. Summers, 194 Colo. 149, 571 P.2d 1067 (1977).
In addition, the plaintiffs argue that ordinance 583, providing for an assessment of a facilities development fee for new connections to the city's sewer system, violated the equal protection clauses. The plaintiffs contend that the fee unconstitutionally discriminated against new customers because only new customers had to pay it. Evidence at trial showed that new connections to the sewage system are related to a need for increased treatment capacity and that the purpose of the fee was to defray the costs of developing increased capacity. The plaintiffs responded to the evidence with the assertion that ordinance 583 did not, on its face, require that the fee be used to defray costs rationally related to the addition of new customers to the system. Although the ordinance was not as clear as it might be, the use of the term "facilities development fee" reveals that city council intended the fee to be used to develop the increased capacity necessary to serve new sewer connections. There is nothing in the record to suggest that the funds generated by the fee have been used otherwise. Since new connections are *1175 more directly related to the need for increased capacity than old connections, there is a rational basis for the distinction made by the ordinance. City of Arvada v. City and County of Denver, 663 P.2d 611 (Colo.1983).[7]
We are satisfied that ordinances 582 and 583 had a rational basis related to a legitimate governmental purpose and, therefore, neither ordinance violated equal protection.

II.
The plaintiffs argue that ordinances 582 and 583 were unconstitutionally vague in several respects and therefore violated due process.[8] The essence of a vagueness challenge is that the law is not drafted with sufficient clarity to provide people of ordinary intelligence with fair notice of what is required of them. People v. Smith, 638 P.2d 1 (Colo.1981); Holcomb v. Denver, 199 Colo. 251, 606 P.2d 858 (1980). The ordinances at issue were directed to the public works department, an administrative agency, not to citizens at large. Bills from the public works department provide sewage customers with fair notice of what is required of them by ordinances imposing sewage charges. The plaintiffs' vagueness challenge is therefore inapposite; the issue presented by any vague terms in the instant ordinances is whether the terms unlawfully delegate legislative authority to the public works department. Holcomb v. Denver, supra. We address those terms which the plaintiffs allege constitute unconstitutional delegation of city council's authority in Part IV, infra.

III.
The plaintiffs claim that both ordinances imposed nonuniform taxes in violation of Article X, Section 3, of the Colorado Constitution. The plaintiffs argue that the charges or fees imposed by the ordinances were not reasonably related to the costs of service, that the ordinances did not require the proceeds from the fees to be put to any specific use, and that the fees were therefore property taxes. A tax, it is argued, must qualify either as a special assessment or as a uniform ad valorem property tax to be constitutional. But see Cherry Hills Farms, Inc. v. City of Cherry Hills, 670 P.2d 779 (Colo.1983) (upholding the constitutionality of an excise tax).
According to testimony at trial, the minimum fees imposed on apartment buildings by ordinance 582, like the minimum fees imposed on other customers, see n. 4, supra, constituted a charge for the city's readiness to provide sewage service. Sewer pipes must be maintained regardless of the amount of wastewater flowing through them. The facilities development fee, according to testimony at trial, was imposed on new customers to defray the cost of increased treatment capacity attributable to the addition of new customers to the system. We therefore hold that the ordinances did not impose taxes, but set fees, *1176 as authorized by section 31-35-402(1)(f), C.R.S. (1977 Repl.Vol. 12) and Section C4.12 of the Denver Charter. ("The council shall fix the rates for the service to be rendered by each such public utility...."). City of Arvada v. City and County of Denver, supra.[9]

IV.
The plaintiffs assert that ordinances 582 and 583 unconstitutionally delegated city council's power, under section C4.12 of the Denver Charter, to determine sewer charges to the water board and the public works department respectively. We disagree.
Under the nondelegation doctrine, legislation must provide sufficient "standards and safeguards and administrative standards and safeguards, in combination, to protect against unnecessary and uncontrolled exercise of discretionary power." Cottrell v. City and County of Denver, 636 P.2d 703, 709 (Colo.1981). See also, Holcomb v. Denver, supra; Elizondo v. Department of Revenue, 194 Colo. 113, 570 P.2d 518 (1977). In Cottrell, supra, we upheld provisions in Denver's charter requiring the water board to set rates "as low as good service will permit" and "uniform as far as practicable," relying in part upon requirements that board meetings be open to the public and that rate schedules adopted by the board be made available for subsequent public inspection. We stated: "The guiding consideration is whether these constraints are sufficient to insure that administrative action will be rational and consistent in the first instance and that subsequent judicial review of that action is available and will be effective." Cottrell v. City and County of Denver, 636 P.2d at 709.
The plaintiffs argue that ordinance 582 contains an unlawful delegation to the water board in that the alternative to the minimum rate provided by that ordinance is a rate calculated under Article 167.2-1(3). That Article, at the time ordinance 582 was enacted, provided for a charge of 95% of "the current periodic metered water consumption charge as determined by the Denver Board of Water Commissioners." On its face, this language appears to delegate to the water board the power to determine sewage charges. In 1975, however, when the water board raised its rates, the city council amended Article 167.2-1(3) so that the "current" rate schedule used for calculation of sewage bills remained that which was in effect on December 31, 1973. See n. 4, supra. Because it is apparent from the history of Article 167.2-1(3) that city council directly controlled sewage rates and that the water board merely read the meters and did the billing, we hold that ordinance 582 did not unlawfully delegate city council's rate making power to the water board.
The plaintiffs also argue that ordinance 583 unconstitutionally delegated to the public works department city council's *1177 power to determine sewer charges by requiring the public works department to charge facilities development fees in amounts "proportionate" to the facilities development fees set by city council for single-family residences and apartment buildings. Since "proportionate" was left undefined by the ordinance, the plaintiffs contend that the public works department had unfettered discretion in setting the fees. We disagree. Since the facilities development fees were imposed to defray the cost of developing the capacity to deal with the potential use of the wastewater system presented by new customers, the fee clearly was intended to be assessed on the basis of that potential use, in relation to (or proportionate to) that presented by single-family residences and apartment buildings. Evidence at trial established that potential use is calculated on the basis of meter size and number of fixtures (i.e., sinks, floor drains, bathtubs, etc.). The public works department interpreted ordinance 583 to require the facilities development fee to be assessed according to meter size and number of fixtures in proportion to the fees set by city council for single-family residences and apartment buildings. The plaintiffs presented no alternative interpretations of ordinance 583. The public works department arrived at the only reasonable interpretation of the ordinance. So interpreted, the ordinance provided standards adequate to ensure rational and consistent administrative action. Whether the fees actually charged were in accordance with the standards is a question susceptible to effective judicial review. See Cottrell v. City and County of Denver, supra.
To determine the constitutionality of an ordinance under the nondelegation doctrine, it first must be ascertained whether the ordinance contains sufficient standards and safeguards. Then, "if those standards and safeguards are inadequate, it must be determined whether additional administrative standards and safeguards accomplish the necessary protection from arbitrary action." Cottrell v. City and County of Denver, 636 P.2d at 710 (emphasis added). Although ordinance 583 was not ideally clear, we hold that the one possible interpretation of its terms, that adopted by the public works department, provided adequate standards and safeguards to guard against arbitrary action. See Englewood v. Hammes, 671 P.2d 947 (Colo.1983); People v. Smith, 638 P.2d 1 (Colo.1981) (an ordinance will be construed to obviate or reduce any constitutional infirmities). It is therefore unnecessary for us to proceed to the second part of the Cottrell analysis to examine additional administrative safeguards. We hold that the ordinances did not unconstitutionally delegate the authority of city council.
Judgment affirmed.
ROVIRA, J., does not participate.
NOTES
[1]  This case was transferred from the Court of Appeals because the plaintiffs challenged the constitutionality of an ordinance. Sections 13-4-102(1)(b) and 13-4-110(1)(a), C.R.S.
[2]  Denver City Council adopted ordinances 582 and 583 in 1973. The ordinances were in effect through 1977.

Ordinance No. 582 added the following to Article 167 of the Revised Municipal Code of Denver:
"167.1-3(55). Residential Multiple Unit Dwelling Buildings shall mean and shall consist of three or more residential units occupied or unoccupied within a single structure.
167.2-1(5). Residential Multiple Unit Dwelling Buildings as defined in 167.1-3(55) shall pay a minimum service charge of $2.25 per available unit of occupancy per month. The total charge to a multiple dwelling unit building per month shall be the minimum so computed or the percentage of the current periodic metered water consumption charge for commercial and industrial class customers, as provided in 167.2-1(3) herein, whichever is greater."
Ordinance No. 583 added the following to Article 167:
"167.2-1(6). A Facilities Development Fee for authorization to connect hereafter to the Sanitary Sewer System, which connection is made within the City and County of Denver, shall be paid at the time the Sewer Connection Permit is issued and shall be at the following rates:


   Single Family Residence: .........$300.00
   Multiple Dwelling Units:
    First Unit.......................$300.00
    Each Additional Dwelling Unit....$275.00

167.2-1(7). All units other than single family residence or multiple dwelling units, including business, industrial, institutional, governmental, or other commercial uses, shall pay a proportionate Facilities Development Fee as determined by the Manager of Public Works."
Charges for sewer service and connection fees are now calculated in accordance with the provisions of Chapter 56, Article 3 of the Municipal Code, which are substantially different than the ordinances at issue here.
[3]  The plaintiffs originally brought two separate suits, which were consolidated for trial by the district court. The parties, in their briefs, dispute the status of this case as a class action. Since no party has appealed any order certifying or decertifying a class in this case we do not address the issue.
[4]  When the water board raised its rates in 1975, Denver City Council amended Article 167.2-1(3) to read:

"Commercial and Industrial Customer Classes shall pay a sewer service charge calculated to be 95% of the current periodic metered water consumption charge, as determined by the Denver Board of Water Commissioners, and computed in accordance with its rates and schedule of charges which were in effect on December 31, 1973, and billed to the customer in the same frequency as water consumption charges." (Emphasis added.)
[5]  The record shows that all sewer customers were charged some sort of minimum fee; their sewage bills were calculated as a percentage of water bills, including the minimum fee for water service charged by the water board.
[6]  The plaintiffs argue that the statements of various public works department employees agreeing to seek an amendment of ordinance 582 constitute a binding admission on Denver's part that the ordinance was unconstitutional. The argument is without merit.
[7]  In City of Arvada, we upheld the constitutionality of an Arvada City Council ordinance imposing a one-time development fee on all persons connecting into the Arvada water system after April 1, 1975. We held the fee to be "rationally related to the purpose ... of making new development pay its own way." 633 P.2d at 615. Although the ordinance did not specify the purposes for which the development charge was to be used, we found that it was "obviously intended for use in connection with Arvada's water system." Id.
[8]  In order to prevail in a vagueness challenge, a party must prove beyond a reasonable doubt that the law at issue is unconstitutionally vague. People v. Moore, 674 P.2d 354, announced January 9, 1984; People v. Alexander, supra. Among the terms of ordinances 582 and 583 alleged to be unconstitutionally vague are: "unit", "residential", "occupied or unoccupied", "within a single structure", "available", "multiple dwelling units", and "institutional." It is apparent that the plaintiffs are either attempting to hold city council to a standard of mathematical exactitude not required by due process, People v. Moore, supra; Colorado Auto & Truck Wreckers Association v. Department of Revenue, supra, or simply refusing to understand the plain meanings of common English words. See Americans United v. State, 648 P.2d 1072, 1086 (Colo.1982); People v. Garcia, 197 Colo. 550, 554, 595 P.2d 228, 231 (1979) ("The vagueness doctrine is not an exercise in semantics to emasculate legislation; rather, it is a pragmatic means to ensure fairness.").
[9]  Under section 31-35-402(1)(f), C.R.S., municipalities have the power: "To prescribe, revise, and collect in advance or otherwise, from any consumer or any owner or occupant of any real property connected therewith or receiving service therefrom, rates, fees, tolls, and charges or any combination thereof for the services furnished by, or the direct or indirect connection with, or the use of, or any commodity from such water facilities or sewerage facilities or both, including, without limiting the generality of the foregoing, minimum charges, charges for the availability of service, tap fees, disconnection fees, reconnection fees, and reasonable penalties for any delinquencies...."

In City of Arvada we held that "[w]hile the imposition of a development fee as such is not authorized in this section ... such a charge is within the general contemplation of this broadly worded statute." 663 P.2d at 614. Furthermore: "the General Assembly intended to give municipalities broad, general powers to construct, improve and extend all the facilities necessary to operate a viable water system.... There is no indication that municipalities are limited to the use of revenue bonds to finance future acquisition and construction." Id. at 615.
