added PeriodicThread