Restart implementation