added interface injection