implemented IoC component