Parameterization

Adding this parameterization creates cleaner code, and somewhat easier extensibility.