implmenting restart