add restart implementation to client