Add dependency-injection by rengwuxian