ARCHmX <- function(eps, X, p, delta=2, covariates="all", hypothesisTest=TRUE, bandwidth = "plugin", k.choice = "plugin") {
  # Validate model parameters
  validate_ARCHmX(eps = eps, X = X, p = p,  delta = delta, covariates = covariates, bandwidth = bandwidth, k.choice = k.choice)
  
  # Call constructor to build the model
  obj <- new_ARCHmX(eps = eps, X = X, p = p, delta = delta, covariates = covariates, hypothesisTest = hypothesisTest, bandwidth = bandwidth, k.choice = k.choice)
  
  # Return the model
  return(obj)
}