added simple dependency injection