
572 P.2d 143 (1977)
The BOARD OF COUNTY COMMISSIONERS OF BOULDER COUNTY, Plaintiff-Appellee,
v.
Norris G. ECHTERNACHT, Defendant-Appellant.
No. 27763.
Supreme Court of Colorado, En Banc.
November 29, 1977.
*144 Ann T. Raisch, Boulder, for plaintiff-appellee.
Norris G. Echternacht, pro se.
CARRIGAN, Justice.
This is a pro se appeal from the district court's order enjoining the appellant from using his eighty-acre tract of land in violation of Boulder County zoning regulations. We affirm.
The facts surrounding this controversy are virtually undisputed. The appellant purchased the subject property in 1957, intending to use it as a farm and residence. In 1960, he began operating an excavation business there, using the land to store his trucks and heavy equipment. In 1960, when the business began, the property was zoned R-Residential; in 1965 its classification was changed to A-Agricultural.
Late in 1973, through complaints from the appellant's neighbors, the Boulder County Land Use Department learned of alleged zoning violations. These complaints primarily concerned the numerous trucks, earth scrapers, loaders, and other equipment, in various states of repair, stored on the property. The appellant did not comply with the county zoning administrator's requests to discontinue the allegedly illegal uses. Consequently, the appellees brought this action seeking an injunction, pursuant to section 30-28-124, C.R.S.1973, and section XXI, 21.3 of the Boulder County Zoning Resolution (1965). The complaint charged that it was illegal for the appellant to operate his excavation business and store heavy excavation equipment on his A-Agricultural zoned land.
The pre-trial order set out four issues for trial to the court:
1. Are operating an excavation business and storing heavy equipment prohibited in an A-Agricultural zone in Boulder County?
2. Did the appellant have a lawful non-conforming use on his property?
3. Did the county lose its right to enforce the zoning resolution because of laches or waiver?
4. Is the Boulder County zoning resolution constitutional?
The trial court granted the appellee's motion for summary judgment as to the first three issues, holding (1) that the appellant's business was not permitted in an agricultural district, (2) that the appellant did not have a lawful non-conforming use, and (3) that the appellees were not barred by laches or waiver. After hearing arguments on the constitutional issue, the trial court held that the appellant had not met his burden of proving the zoning resolution unconstitutional. *145 The appellant challenges each of these rulings.

I.
It is undisputed that the appellant operates a business known as Echternacht Excavating Company on his property, and stores business vehicles and equipment there. The county concedes that A-Agricultural zoning authorizes the appellant to maintain his home, conduct his farming operations and store his farm equipment on the land. Therefore the threshold question is whether operating an excavation business is also a use permitted on A-Agricultural land. We hold that it is not.
The Boulder County Zoning Resolution, section VII (1965), lists the uses permitted in A-Agricultural zones. Although some business uses are included, such as nurseries, greenhouses, commercial feed yards, and oil and natural gas drilling, no provision expressly or impliedly allows an excavating business or storage of heavy non-agricultural equipment in connection with such a business. Open mining, such as quarrying and strip mining, is allowed by special permit.[1] But no excavation actually occurred on the property here involved. Therefore the appellant cannot contend that the storage of excavation equipment is a valid accessory use.[2]
Moreover, the zoning resolution provides that the "listing of any use . . . as being permitted in any particular district shall be deemed to be an exclusion of such use from any other district . . . ."[3] The record supports the trial court's finding that the appellant's use of his land falls within the zoning resolution's definition of "junk yard":
"A building, structure or parcel of land, or portion thereof, used for the collecting, storage or sale of waste paper, rags, scrap metal or discarded material; or, for the collecting, dismantling, storage, salvaging, or demolition of vehicles, machinery or other materials."[4] (Emphasis added.)
Since junk yards are specifically permitted in GI-General Industrial districts,[5] they are excluded from agricultural districts. Although the appellant understandably takes exception to classifying his vehicles with "junk," the above definition clearly includes his use of his property for storing excavation equipment. We have previously upheld this definition of "junk yard" as not too indefinite or vague to be enforced. Board of County Commissioners v. Thompson, 177 Colo. 277, 493 P.2d 1358 (1972). Boards of county commissioners have broad discretion in classifying and regulating uses of land. This definition is adequate to give landowners notice and guidance regarding permissible uses of their land.

II.
The appellant contends that because he commenced his excavation business in 1960, he had a pre-existing, lawful, non-conforming use[6] which was not forbidden until the 1965 zoning resolution was passed. Therefore, he argues, the zoning resolution allows *146 him to continue that use.[7] The trial court correctly ruled to the contrary.
When the appellant started his business in 1960, his property was zoned, under the Boulder County Zoning Resolution of 1954, as R-Residence. Although the resolution permitted more business uses of the appellant's land than does the current zoning, it did not authorize operating an excavation business or storing excavation equipment.[8] Since the use in question was prohibited when the appellant began it, and continued to be unauthorized through the time when the 1965 resolution was enacted, it cannot be considered a legal non-conforming use.

III.
The appellant's contention that the county lost its right to enforce its zoning resolution by laches or waiver is not supported by the record or by applicable law. Actual knowledge of existing conditions or rights is generally a prerequisite to applying the laches doctrine. Greeley & Loveland Irrigation Co. v. McCloughan, 140 Colo. 173, 342 P.2d 1045 (1959); Duncan v. Colorado Investment and Realty Co., 116 Colo. 12, 178 P.2d 428 (1947). The trial court specifically found, on the basis of undisputed evidence, that representatives of Boulder County had no knowledge of the alleged zoning violations until late 1973, and that the county diligently sought to abate the violations after becoming aware of them. Since the appellant failed to produce any evidence that county officials knew of zoning violations before 1973, laches cannot bar the county for having failed to act sooner. Similarly, since there is absolutely no evidence of a waiver, we cannot hold that the county waived its right to enforce the resolution. See generally, City of Raleigh v. Fisher, 232 N.C. 629, 61 S.E.2d 897 (1950); Paolella v. Zoning Board of Review, 84 R.I. 163, 122 A.2d 157 (1956); Annot., 119 A.L.R. 1503 (1939).

IV.
At trial, the appellant's attorney challenged the constitutionality of the zoning resolution on several grounds. The appellant's pro se brief in this court also generally questions the statute's constitutionality.
Zoning regulations must bear a real and substantial relationship to the public health, safety, morals, or welfare. However, a zoning plan is presumed to be constitutional, and one challenging such a plan has the burden of demonstrating its unconstitutionality. Board of County Commissioners v. Mountain Air Ranch, Colo., 563 P.2d 341 (1977).
In this case, the appellant's theory at trial was that once he raised the constitutional issues, the burden shifted to the county to prove its zoning resolution valid. Because of that mistaken theory, the appellant presented no evidence tending to show the resolution's invalidity. Under such circumstances, the resolution must be sustained. Board of County Commissioners v. Mountain Air Ranch, supra; Roeder v. Miller, 159 Colo. 436, 412 P.2d 219 (1966).

V.
Finally, the appellant has raised several issues on appeal which were not raised at trial. Nor were any of these allegations of error raised in a motion for new trial, which is a condition precedent for appellate review. C.R.C.P. 59(f). However, because the appellant has been proceeding pro se after trial, we have reviewed his contentions to be certain that no substantive rights have been forfeited merely because of his non-compliance with a rule of procedure. Having considered each of the appellant's contentions, we conclude that no prejudicial error occurred during the course of these proceedings.
*147 Accordingly, we affirm the trial court's judgment.
GROVES, J., does not participate.
NOTES
[1]  Boulder County Zoning Resolution, section XV, 15.19 (1965).
[2]  "An `accessory building and use' is a subordinate use of a building, other structure, or tract of land, or a subordinate building or other structure:

1. which is clearly incidental to the use of the principal building, other structure or use of land;
2. which is customary in connection with the principal building, other structure or use of land;
3. which is ordinarily located on the same lot with the principal building, other structure or use of land."
Id., section XVI, 16.1.
[3]  Id., section II.
[4]  Boulder County Zoning Resolution, section XX, 20.16 (1965).
[5]  Id., section XIV, 14.1.
[6]  "A `non-conforming use' shall include any legally existing use, whether within a building or other structure or on a tract of land, which does not conform to the `use' regulations of this Resolution for the district in which such `non-conforming use' is located, either at the effective date of this Resolution or as a result of subsequent amendments which may be incorporated into this Resolution." Id., section XIX, 19.1(1).
[7]  "A non-conforming use may be continued and a non-conforming building may continue to be occupied, except as both of the foregoing are otherwise provided for in this Section." Id., section XIX, 19.2.
[8]  Boulder County Zoning Resolution, section III (1954).
