working on 4.0
periodic 4, dependency injection patter