polymorphism to the rescue!