use dependency injection instead of class