Suspend implementation