using polymorphism to make child scripts simple