changed island restart to an callback