Added Reconnection Logic According to Spec