| Structural |
15–30 days |
$500–$3,000 |
- Inadequate foundation depth for frost lines.
- Missing engineered drawings for complex roofs (e.g., trusses).
- Use of unapproved materials (e.g., treated lumber without ACQ preservative).
|
20–45 days |
$600–$4,000 |
- Lack of soil test reports for expansive clay soils.
- Improper lateral bracing in high-wind zones.
- Non-compliant I-joist spacing.
|
10–20 days |
$400–$2,500 |
- Missing continuous load paths in seismic zones.
Code Enforcement Processes and Penalties in Building Jurisdictions
Code enforcement ensures compliance with building codes, public safety, and property standards through systematic inspection, violation tracking, and corrective actions. The process involves multiple stakeholders—inspectors, enforcement officers, and administrative bodies—operating within legal frameworks to balance property rights with regulatory obligations. Penalties vary by violation severity, property type, and jurisdiction, often escalating from warnings to fines, stop-work orders, or legal action. Understanding these procedures clarifies expectations for property owners, contractors, and enforcement agencies while mitigating disputes through structured appeals and mediation.
Sequential Stages of Code Enforcement
The enforcement process follows a structured workflow from initial detection to resolution, involving distinct roles and procedural steps. Inspectors initiate investigations based on complaints, routine inspections, or automated triggers (e.g., permit expirations). Enforcement officers assess violations, issue notices, and coordinate corrections, while hearings boards or administrative judges resolve contested cases. Each stage includes deadlines, documentation requirements, and escalation protocols to ensure fairness and consistency.1. Initial Complaint or Inspection Trigger
Complaints may originate from neighbors, public reports, or automated systems (e.g., permit databases). Routine inspections target high-risk areas (e.g., fire safety, structural integrity) or post-permit construction phases. Jurisdictions prioritize complaints based on risk (e.g., immediate hazards like exposed wiring or structural collapse) or cumulative violations (e.g., repeated minor code breaches). 2. Violation Identification and Documentation
Inspectors conduct on-site assessments, documenting deficiencies with photographs, measurements, and code citations. Reports include:
- Violation Type: Structural, electrical, plumbing, fire safety, or accessibility.
- Severity Level: Critical (immediate hazard), significant (safety risk), or minor (non-compliant but not hazardous).
- Required Corrections: Specific code sections (e.g., IBC 2021 § 403.1.1 for fire separation walls) and deadlines.
3. Notice of Violation Issuance
Enforcement officers serve formal notices via certified mail or in-person delivery, specifying:
- Deadlines for Correction: Typically 10–30 days for minor issues; shorter for critical hazards (e.g., 48 hours for electrical fires).
- Penalties for Non-Compliance: Fines, stop-work orders, or mandatory abatement.
- Appeal Rights: Procedures for contesting the notice (e.g., requesting a hearing or mediation).
4. Correction and Re-Inspection
Property owners or contractors submit proof of compliance (e.g., permits, invoices, corrected plans) before re-inspection. Inspectors verify corrections against code requirements, issuing a Certificate of Compliance or Notice of Continued Violation if unresolved. 5. Enforcement Actions for Non-Compliance
Unresolved violations trigger escalated measures:
- Stop-Work Orders: Halting construction or occupancy until corrections are made (common in commercial projects).
- Fines: Daily penalties (e.g., $50–$500/day under IBC) or lump-sum assessments.
- Legal Action: Forfeiture of property or criminal charges in extreme cases (e.g., illegal conversions or repeated violations).
6. Administrative Hearings and Appeals
Disputes proceed to hearings before an impartial board, where parties present evidence (e.g., expert testimony, code interpretations). Outcomes include:
- Dismissal: If violations are disproven or penalties are deemed excessive.
- Reduced Penalties: For mitigating circumstances (e.g., financial hardship).
- Mandatory Corrections: With extended deadlines or phased compliance plans.
Roles of Key Stakeholders
- Building Inspectors: Technical assessors who identify violations and verify corrections.
- Enforcement Officers: Legal/administrative staff who issue notices and track compliance.
- Hearings Boards: Panels of officials or volunteers who adjudicate appeals.
- Property Owners/Contractors: Responsible for corrections and engaging in dispute resolution.
Comparison of Civil Penalties for Residential vs. Commercial Properties
Penalties differ by property type due to risk levels, occupancy impacts, and jurisdictional priorities. Below is a comparative table for International Building Code (IBC) 2021, Uniform Building Code (UBC) 1997 (legacy reference), and local amendments (e.g., California’s Field Act for earthquake retrofits). Fines are illustrative; actual amounts vary by jurisdiction.
| Violation Type |
Residential (IBC 2021) |
Commercial (IBC 2021) |
Residential (UBC 1997) |
Commercial (UBC 1997) |
Local Amendment Example (CA Field Act) |
| Minor Non-Compliance (e.g., missing egress signage) |
$200–$500 fine; 15-day correction deadline |
$500–$1,000 fine; 10-day deadline |
$100–$300 fine; 30-day deadline |
$300–$800 fine; 7-day deadline |
$100–$250 fine; 10-day deadline (CA) |
| Significant Hazard (e.g., unpermitted electrical work) |
$1,000–$5,000 fine; stop-work order; 5-day deadline |
$5,000–$25,000 fine; immediate shutdown; 3-day deadline |
$500–$2,000 fine; stop-work order; 14-day deadline |
$2,000–$10,000 fine; shutdown; 5-day deadline |
$2,500–$10,000 fine; mandatory retrofitting (CA) |
| Critical Violation (e.g., missing fire sprinklers in multi-family) |
$10,000–$50,000 fine; demolition order if unresolved |
$50,000–$250,000 fine; permanent closure risk |
$5,000–$20,000 fine; occupancy ban |
$20,000–$100,000 fine; business license revocation |
Mandatory seismic retrofitting (CA); fines up to $50,000 |
| Repeated Violations (e.g., third offense for unpermitted additions) |
$25,000 fine; 6-month permit suspension |
$100,000 fine; 1-year suspension; possible criminal charges |
$10,000 fine; lifetime permit ban |
$50,000 fine; license revocation |
Criminal misdemeanor charges (CA); up to 1 year jail time |
Key Observations:
- Commercial penalties are 5–10x higher due to increased public risk and economic impact.
- Local amendments often introduce stricter rules (e.g., California’s seismic requirements) or unique penalties (e.g., demolition orders for unreinforced masonry).
- Stop-work orders are more frequently applied to commercial projects to prevent prolonged hazards.
- UBC penalties are generally lower but may include longer correction periods, reflecting its older framework.
Procedures for Contesting a Violation Notice
Property owners or contractors may challenge violation notices through formal appeals, requiring adherence to deadlines, evidence submission, and procedural rules. The process ensures due process while maintaining enforcement integrity. Jurisdictions typically offer administrative hearings, mediation, or judicial review as avenues for resolution.1. Deadlines for Appeals
- Initial Response Period: Typically 7–14 days from notice receipt to file an appeal (varies by jurisdiction).
- Hearing Request Deadline: Additional 10–21 days to submit formal appeal documents.
- Failure to Appeal: Results in automatic penalty imposition or enforcement actions.
2. Required
The integration of digital tools and centralized databases has transformed the efficiency and transparency of building permit processes and code enforcement. Online permit portals streamline interactions between jurisdictions, applicants, and inspectors by automating submissions, payments, and status tracking. Meanwhile, structured databases provide real-time access to building codes, permit histories, and property records, reducing compliance risks and operational bottlenecks. Below are the functionalities of these tools, evaluation frameworks, and comparative analyses of code databases, along with instructions for workflow automation.
Functionalities of Online Permit Portals
Online permit portals serve as centralized platforms for managing the entire permit lifecycle, from application to approval. Key functionalities include: - Application Submission and Plan Uploads
Applicants submit digital copies of construction plans, site surveys, and supporting documents via secure uploads. Portals often enforce file format restrictions (e.g., PDF, DWG) and validate completeness using automated checklists. For example, the City of Los Angeles Permit Portal requires high-resolution scans of structural drawings with embedded metadata for project identification. - Real-Time Status Tracking
Applicants and inspectors monitor permit progress through dashboards displaying stages such as submitted, under review, approved, inspected, or closed. Notifications via email or SMS alert stakeholders of updates, deadlines, or required actions. The Portland, Oregon ePermit System integrates with a calendar view to highlight inspection schedules and fee due dates. - Electronic Fee Payments and Invoicing
Portals integrate with payment gateways (e.g., Stripe, PayPal, or government-issued systems) to process permit fees, inspection costs, and penalties. Automated invoices are generated based on project type, square footage, or code violations. The Texas Department of Licensing and Regulation (TDLR) portal supports recurring billing for multi-phase projects. - Document Management and Version Control
Portals maintain a secure repository of all submitted and approved documents, with versioning to track revisions. Access controls restrict viewing/editing to authorized personnel (e.g., inspectors, engineers). The New York City Building Information System (BIS) uses blockchain-like hashing to verify document authenticity. - Mobile Accessibility and Notifications
Responsive design and dedicated mobile apps (e.g., Permit360, PermitWorks) enable field access for inspectors and on-site updates. Push notifications alert contractors to pending inspections or code violations detected via drone or satellite imagery. Template for Evaluating User-Friendliness
To assess portal usability for contractors and homeowners, evaluate the following criteria using a 5-point scale (1 = Poor, 5 = Excellent):
User-Friendliness Evaluation Template
1. Navigation Clarity
- Are menus logically grouped (e.g., New Permit, Existing Projects, Payments)?
- Is the search function intuitive for locating past permits or code sections?
2. Document Submission Workflow
- Are file upload instructions explicit (e.g., "Drag and drop PDFs ≤10MB")?
- Does the system pre-fill applicant details from prior submissions?
3. Status Transparency
- Are approval/denial reasons provided with actionable next steps?
- Are inspection schedules visibly linked to permit status?
4. Fee and Payment Process
- Are fee calculators transparent (e.g., breakdown by permit type and project size)?
- Are payment failures clearly explained with retrial options?
5. Customer Support Integration
- Is live chat or phone support accessible during business hours?
- Are FAQs or video tutorials embedded for common issues (e.g., "How to submit ADA compliance forms")?
6. Mobile and Accessibility Compliance
- Is the portal WCAG 2.1 AA compliant (e.g., screen-reader support, keyboard navigation)?
- Does the mobile app sync seamlessly with desktop data?
Structured List of Free and Paid Databases for Building Codes and Permit Histories
Access to standardized and jurisdictional-specific databases is critical for compliance and due diligence. Below is a categorized list of databases, including login requirements and data limitations.National and International Code Databases
- International Code Council (ICC) Digital Codes
- Access: Subscription-based ($1,200–$2,500/year for professionals; free limited access via libraries).
- Content: Full-text 2021 I-Codes (International Building, Residential, Mechanical, etc.), with redline comparisons to prior editions.
- Limitations: No local amendments; requires manual cross-referencing with state/city codes.
- Login: ICC account creation via ICC Digital Codes (requires credit card for subscription tiers).
- NFPA (National Fire Protection Association) Codes & Standards
- Access: Free for select codes (e.g., NFPA 70®, National Electrical Code) via PDF downloads; full library requires membership ($150–$500/year).
- Content: Fire safety, electrical, and life safety codes with commentary.
- Limitations: Focuses on fire-related regulations; lacks structural or zoning data.
- Login: NFPA account via NFPA Catalog.
- Building Codes Assistance Project (BCAP) – Free Resources
- Access: Free for U.S. users (funded by HUD).
- Content: Summaries of model codes (e.g., IRC, IBC) with jurisdiction-specific guides.
- Limitations: Non-authoritative; links to paid ICC resources for full text.
- Login: No registration required; accessible via BCAP.
State and Local Government Databases
- State Building Code Repositories
- Examples:
- California: Department of Housing and Community Development (HCD) Codes (free; requires login for full access).
- Florida: Florida Building Code (FBC) Portal (free; amendments available via subscription).
- Texas: Texas Department of Licensing and Regulation (TDLR) Database (free; limited to licensed professionals).
- Content: State-adopted codes, amendments, and permit histories.
- Limitations: Varies by state; some require professional licenses for advanced features.
- Local GIS and Property Databases
- Examples:
- Esri ArcGIS Online (Paid: $1,000–$10,000/year; free tier for educational use).
- City of Chicago Property Portal (Free; requires account creation).
- County Assessor Databases (e.g., Los Angeles County Assessor’s Office – free; login via LACounty GIS).
- Content: Property records, zoning overlays, permit histories, and violation logs.
- Limitations: GIS data may lack code compliance details; property records often require in-person verification for legal use.
Third-Party Vendors and Commercial Platforms
- PermitWorks (Paid: $500–$5,000/year for municipalities; contractors pay per permit).
- Content: Permit tracking, code compliance checklists, and automated inspections.
- Limitations: Customization depends on jurisdiction contracts.
- PlanSwift (Paid: $20–$100/month for contractors).
- Content: Code compliance templates, takeoff estimates, and permit document generation.
- Limitations: Focuses on pre-construction; lacks real-time permit status updates.
- BuildingPoint (Paid: $1,500–$10,000/year for firms).
- Content: Integrated code research, permit management, and project documentation.
- Limitations: High cost; requires training for full utilization.
Comparison of Code Database Accuracy and Update Frequency
The following table compares the accuracy and update frequency of three databases for ADA (Americans with Disabilities Act) compliance under the International Building Code (IBC). Accuracy is assessed based on alignment with the 2021 IBC and local amendments, while update frequency reflects how often databases reflect regulatory changes.
| Database |
Accuracy (2021 IBC + Amendments) |
Update Frequency |
Data Source Reliability |
Cost |
Notable Limitations |
| ICC Digital Codes |
95% (Full-text IBC with redlines; lacks local amendments) |
Common Violations and Mitigation Strategies in Building Jurisdictions
Building jurisdictions frequently encounter violations that compromise structural integrity, occupant safety, and legal compliance. These infractions often stem from oversight in design, construction, or retrofitting phases, leading to costly corrections, fines, or enforcement actions. Proactive identification of high-risk violations—such as egress failures, electrical hazards, or zoning discrepancies—along with structured mitigation strategies, reduces liability and ensures adherence to codes like the International Residential Code (IRC), International Building Code (IBC), and local amendments. This section examines the top five violations, self-audit checklists for pre-inspection compliance, and comparative retrofitting solutions for non-compliant structures, supported by case studies demonstrating the impact of early intervention.
Top Five Frequently Cited Violations and Associated Risks
Violations in residential and commercial properties often cluster around critical safety and regulatory gaps. The following represent the most commonly cited infractions, categorized by property type, along with their potential risks to occupants, property owners, and municipalities.Residential Properties:
1. Egress Non-Compliance (IRC R311.1, IBC Section 1003)
- Violation: Inadequate door widths (<32 inches), improper stair dimensions, or blocked exit paths (e.g., furniture, debris).
- Risks: Increased evacuation time during emergencies, liability for injuries, and failure during fire inspections. For example, a 2021 NFPA report linked 15% of residential fire fatalities to obstructed egress routes.
2. Electrical Hazards (NEC Article 210, 215, 240)
- Violation: Overloaded circuits, unpermitted wiring (e.g., knob-and-tube in modern homes), or lack of GFCI protection in bathrooms/kitchens.
- Risks: Fire hazards (e.g., 47,000 electrical fires annually per NFPA), property damage, and insurance claim denials due to "willful neglect."
3. Foundation and Drainage Failures (IRC R403, R301.2)
- Violation: Improper grading (sloping toward the structure), missing or clogged gutters, or inadequate footing depth in expansive soils.
- Risks: Structural shifts, mold growth (leading to health code violations), and water intrusion claims exceeding $10,000 in average repair costs (IICRC).
Commercial/Industrial Properties:
4. Zoning and Use Non-Compliance (Local Zoning Ordinances, IBC Chapter 3)
- Violation: Mixed-use violations (e.g., residential units in industrial zones), insufficient parking ratios, or unpermitted signage.
- Risks: Fines up to $5,000 per violation (varies by jurisdiction), forced property vacancies, or rezoning denials delaying projects by 12–24 months.
5. Fire Safety Deficiencies (IBC Chapter 9, NFPA 101)
- Violation: Missing fire escapes in multi-story buildings, blocked sprinkler systems, or inadequate exit signage.
- Risks: Occupant fatalities, business interruptions (average downtime: 30–90 days post-fire), and criminal liability for negligence (e.g., 2017 Grenfell Tower inquiry cited "systemic failures" in fire safety compliance).
Pre-Inspection Self-Audit Checklist for New Construction
Conducting a self-audit before final inspections minimizes rework and avoids costly corrections. The following checklist aligns with critical code sections and includes actionable steps for builders, developers, and property owners.Foundation and Drainage (IRC R302.5, R403)
- Verify soil tests for expansive clay or high water tables; adjust footing depth as required (IRC Table R403.1).
- Confirm grading slopes 6 inches over 10 feet away from the foundation (IRC R401.3).
- Inspect drainage systems (French drains, sump pumps) for proper slope and discharge points (ASCE 29).
Electrical Systems (NEC 210.11, 215.10)
- Document panel capacity (minimum 100A for residential; commercial panels must meet Article 220 load calculations).
- Ensure all 120V circuits include AFCI protection (NEC 210.12) and GFCI in wet locations (NEC 210.8).
- Label all circuit breakers and validate that subpanels are bonded to the main panel (NEC 250.32).
Egress and Accessibility (IRC R311.1, ADA Standards §206)
- Measure all exit doors for minimum 32-inch clear width (36 inches for accessible routes).
- Confirm stair tread depth (minimum 10 inches) and riser height (maximum 7 inches; IRC R311.7.6.1).
- Test door swing clearance (minimum 32-inch radius) and ensure no obstructions in exit paths.
Fire Safety (IBC 1003, NFPA 101)
- Validate smoke detector placement (within 15 feet of bedrooms; IBC 1003.5).
- Check fire separation distances between structures (IBC Table 506.2).
- For multi-story buildings, confirm fire escapes meet IBC 1027.1 (e.g., minimum 5-foot width, 36-inch headroom).
Zoning and Use (Local Ordinances, IBC Chapter 3)
- Cross-reference property surveys with zoning maps for setback requirements (e.g., 20-foot front yard setback in R-3 zones).
- Verify parking ratios (e.g., 1 space per 300 sq ft for retail; IBC Table 502).
- Obtain pre-application approval for signage (height, illumination, and material restrictions).
Retrofitting Strategies for Non-Compliant Structures
Retrofitting non-compliant properties requires balancing code requirements with feasibility. Below are three scenarios with estimated costs, timelines, and compliance pathways, based on average U.S. data (2023) and jurisdictional variations.
| Scenario | Violation | Retrofit Solution | Estimated Cost | Compliance Timeline | Key Code References |
| Historic Home (Pre-1940) | Knob-and-Tube Wiring (NEC 90.3(B)) | Full rewiring with AFCI/GFCI protection | $15,000–$30,000 | 4–8 weeks | NEC 210.12, 240.21(B) |
| Missing Fire Escape (IBC 1027.1) | Window well conversion to fire escape | $8,000–$15,000 | 6–10 weeks | IBC 1027.2, NFPA 211 |
| Apartment Building (4+ Units) | Overloaded Electrical Panel (NEC 220.14) | Upgrade to 200A main panel + subpanels | $20,000–$40,000 | 8–12 weeks | NEC 220.61, 225.18 |
| Blocked Egress Doors (IRC R311.1) | Replace doors with ADA-compliant hardware | $5,000–$12,000 | 2–4 weeks | IRC R311.1, ADA §206.5 |
| Industrial Warehouse | Zoning Violation (Mixed-Use) | Demarcate clear property lines + rezone | $30,000–$80,000 | 6–18 months | Local Zoning Ordinance, IBC §302 |
| Missing Fire Sprinklers (NFPA 13) | Install wet-pipe system with backflow preventer | $50,000–$120,000 | 12–24 weeks | NFPA 13, IBC 903.3.1.1 |
Notes:
- Costs for zoning violations include legal fees and potential property line adjustments.
- Historic home retrofits may qualify for tax incentives (e.g., 20% federal credit for energy-efficient upgrades; IRS §25C).
- Permit
Stakeholder Roles in Permitting and Enforcement
The efficient administration of building permits and code enforcement relies on the clear delineation of responsibilities among key stakeholders. Each role—whether held by government officials, industry professionals, or property owners—contributes to the integrity of construction projects, public safety, and regulatory compliance. Misalignment in these roles can lead to delays, conflicts, or non-compliance, underscoring the need for structured accountability and collaboration. This section examines the defined tasks and accountability of stakeholders throughout the permitting process, provides a structured pre-application meeting script, highlights interdepartmental coordination challenges, and outlines a framework for interagency agreements to standardize roles and procedures.
Key Stakeholder Responsibilities in the Permitting Process
The permitting process involves multiple stakeholders, each with distinct responsibilities at various stages: pre-application, review, approval, construction, and enforcement. Below is a structured breakdown of roles, tasks, and accountability for key participants, ensuring transparency and efficiency in compliance workflows.
| Stakeholder |
Stage |
Responsibilities |
Accountability |
| Building Officials (Permit Examiners) |
Pre-Application |
- Review preliminary plans for completeness and compliance with local codes.
- Provide guidance on jurisdictional requirements (e.g., zoning, historic preservation, environmental).
- Identify potential hurdles (e.g., utility conflicts, easements, or special inspections).
|
- Ensure applicants understand all permit conditions before submission.
- Document all pre-application consultations in internal records.
|
| Review Stage |
- Conduct plan reviews for technical accuracy and code adherence.
- Coordinate with other departments (e.g., fire, zoning, environmental) for cross-disciplinary approvals.
- Schedule and conduct site inspections to verify compliance during construction.
|
- Issue permits or notices of non-compliance within statutory timelines.
- Maintain audit trails for all permit actions and inspections.
|
| Enforcement Stage |
- Investigate complaints or violations through field inspections.
- Issue stop-work orders or notices of violation for non-compliance.
- Refer egregious violations to legal enforcement for penalties.
|
- Ensure corrective actions are documented and verified.
- Escalate unresolved disputes to higher authorities or mediation.
|
| Post-Enforcement |
- Update permit records and close cases upon compliance verification.
- Provide feedback to applicants on recurring issues or systemic gaps.
|
- Ensure all records are archived for future reference or audits.
|
| Engineers and Design Professionals |
Pre-Application |
- Prepare preliminary designs in accordance with local codes and client requirements.
- Identify potential code conflicts (e.g., structural, mechanical, or electrical) early.
- Consult with building officials to align designs with jurisdictional standards.
|
- Submit accurate and complete documentation to avoid permit delays.
|
| Review Stage |
- Revise designs based on building official feedback.
- Coordinate with contractors to ensure construction aligns with approved plans.
|
- Certify that final submissions meet all code requirements.
|
| Construction Stage |
- Provide technical oversight during construction to ensure compliance.
- Conduct periodic reviews of shop drawings and material certifications.
|
- Sign off on critical phases (e.g., foundation, framing) to confirm adherence.
|
| Post-Construction |
- Prepare as-built drawings and submit for final approval.
- Address any discrepancies identified during inspections.
|
- Ensure all documentation is submitted for permit closure.
|
| Contractors and Subcontractors |
Pre-Application |
- Assist property owners in gathering required documentation (e.g., surveys, soil reports).
- Provide input on constructability and code feasibility.
|
- Ensure all subcontractors are licensed and compliant with local laws.
|
| Construction Stage |
- Follow approved plans and specifications strictly.
- Request inspections at critical stages (e.g., rough-in, final).
- Address stop-work orders promptly and correct violations.
|
- Maintain records of all inspections and corrections.
- Notify building officials of any unanticipated issues (e.g., site conditions).
|
| Post-Construction |
- Ensure all work meets final inspection criteria.
- Provide warranties or guarantees for completed work.
|
- Assist in resolving any outstanding compliance issues.
|
| Property Owners/Developers |
Pre-Application |
- Initiate permit applications with accurate project details.
- Engage stakeholders (e.g., engineers, contractors) to ensure compliance.
|
- Provide all necessary documentation (e.g., ownership proof, site plans).
|
| Construction Stage |
- Monitor contractor compliance with permit conditions.
- Address inspection findings and resolve violations promptly.
|
- Ensure timely payment to contractors to avoid project delays.
|
| Post-Construction |
- Obtain final approval and close the permit.
- Maintain records for future reference or resale transactions.
|
- Ensure all warranties and guarantees are documented.
|
| Code Enforcement Officers |
Pre-Application |
Mastering building department permits and code enforcement requires a structured approach that balances regulatory knowledge with practical execution. Whether identifying permit exemptions, contesting violation notices, or integrating digital tools to track applications, each step plays a pivotal role in ensuring projects proceed smoothly. By adopting mitigation strategies for common violations and fostering clear communication among stakeholders, developers and contractors can navigate the permitting landscape with confidence. Ultimately, compliance is not just a legal obligation but a strategic advantage that safeguards investments and enhances project outcomes.
|
Leave a Comment
Comments are moderated before appearing. The data you submit is processed according to the Privacy Policy of ir.msu.ac.zw.