add restart function