conditional overriding