implement .restart