use iPOJO to manage DI