override + interface injection