- do the polymorphic thing as a decorator so it's out of the way otherwise