Three tier architecture has dramatically increased the maintainability and modularity of enterprise-wide computer systems. It has given rise to component based software and fast RAD techniques for developing systems with reusable code. Some systems take the three tier principle a stage further by adding a multiple number of tiers to increase modularity, this is sometimes refereed to n-tier architecture.