def METHOD_NAME(self, input_shape, **kwargs):
    """
    Construct a network and return its input and output layers.
    Parameters
    ----------
    input_shape : tuple
        The shape of the data(without batch) fed into the input layer
    Returns
    -------
    input_layers : List of keras.layers.Input of length input_shape[1]
        The input layers of this Network. Equal to number of variables
        in the independent variable (input_shape[1]).
    output_layer: And instance of Keras.layers.Layer
        The output layer of this Network.
    """
    from tensorflow import keras
    n_t = input_shape[0]  # corresponding to the number of time steps (m)
    n_vars = input_shape[1]  # corresponding to the number of variables (d)
    input_layers, conv2_layers = [], []
    for _ in range(n_vars):
        input_layer = keras.layers.Input((n_t, 1))
        input_layers.append(input_layer)
        conv1 = keras.layers.Conv1D(
            self.filter_sizes[0],
            kernel_size=self.kernel_size,
            activation="relu",
            padding=self.conv_padding,
        )(input_layer)
        conv1 = keras.layers.MaxPooling1D(
            pool_size=self.pool_size,
            padding=self.pool_padding,
        )(conv1)
        conv2 = keras.layers.Conv1D(
            self.filter_sizes[1],
            kernel_size=self.kernel_size,
            activation="relu",
            padding=self.conv_padding,
        )(conv1)
        conv2 = keras.layers.MaxPooling1D(
            pool_size=self.pool_size,
            padding=self.pool_padding,
        )(conv2)
        conv2 = keras.layers.Flatten()(conv2)
        conv2_layers.append(conv2)
    # In univariate cases, legacy tf loaders returns just the
    # layer and not a list of layers with one element,
    # therefore simply use that layer, bypassing concat layer.
    if n_vars == 1:
        output_layer = conv2_layers[0]
    else:
        output_layer = keras.layers.Concatenate(axis=-1)(conv2_layers)
    output_layer = keras.layers.Dense(units=self.dense_units, activation="relu")(
        output_layer
    )
    return input_layers, output_layer