allow optional implementation of non-abstract virtual methods