adding new restart logic