diff --git a/.dockerfile/2.0.0-beta/dockerfile b/.dockerfile/2.0.0-beta/dockerfile
index 993ca9d8dc84a99a975dbe19dfac93d303b50745..7a91b90f7b9e212d2fb95d53c76943f660657e2f 100644
--- a/.dockerfile/2.0.0-beta/dockerfile
+++ b/.dockerfile/2.0.0-beta/dockerfile
@@ -4,7 +4,7 @@ FROM rocker/r-base:4.3.1
 RUN apt-get -y update  && \
     apt-get -y install cmake libxml2-dev libcurl4-gnutls-dev
 
-COPY HTRfit_v2.0.0-beta.tar.gz  /HTRfit_v2.0.0-beta.tar.gz
+COPY HTRfit_2.0.0-beta.tar.gz  /HTRfit_2.0.0-beta.tar.gz
 
 RUN R -e "install.packages(c('parallel', 'data.table', 'ggplot2', 'gridExtra', 'glmmTMB', 'magrittr', 'MASS', 'reshape2', 'rlang', 'stats', 'utils', 'BiocManager', 'car'))" 
 
@@ -12,4 +12,4 @@ RUN R -e "BiocManager::install('S4Vectors', update = FALSE)"
 
 RUN R -e "BiocManager::install('DESeq2', update = FALSE)" 
 
-RUN R -e "install.packages('/HTRfit_v2.0.0-beta.tar.gz', repos = NULL, type='source')"
+RUN R -e "install.packages('/HTRfit_2.0.0-beta.tar.gz', repos = NULL, type='source')"
diff --git a/DESCRIPTION b/DESCRIPTION
index 991f17829b8e4d8bc3b5a5461e179c86b66ff1cb..100a8d95c29febb0d4ce4fa1fb6571e7cedf4000 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -1,6 +1,6 @@
 Package: HTRfit
 Title: HTRfit
-Version: 0.0.0.9000
+Version: 2.0.0
 Authors@R: 
     person("First", "Last", , "first.last@example.com", role = c("aut", "cre"),
            comment = c(ORCID = "YOUR-ORCID-ID"))
diff --git a/R/evaluation_withmixedeffect.R b/R/evaluation_withmixedeffect.R
index f19755b2646e9e720b1881006f0761741a929bc5..7a406bd487232220af0a5a3e787672631aecf1aa 100644
--- a/R/evaluation_withmixedeffect.R
+++ b/R/evaluation_withmixedeffect.R
@@ -33,6 +33,8 @@ is_formula_mixedTypeI <- function(formula) {
   if (length(all.vars(formula)) != 3) return(FALSE)
   if (sum(all.names(formula) == "+") > 1) return(FALSE)
   if (sum(all.names(formula) == "/") > 0) return(FALSE)
+  all_var_in_formula <- all.vars(formula, unique = F)
+  if (length(all_var_in_formula) == 4 && all_var_in_formula[2] != all_var_in_formula[3]) return(FALSE)
   return(TRUE)
 }
 
diff --git a/R/simulation_report.R b/R/simulation_report.R
index 560653a60b3f2256cf4d8d022261c7449bf8526c..18baf350a21f9fcebd4e9410b9fa9b2325f49421 100644
--- a/R/simulation_report.R
+++ b/R/simulation_report.R
@@ -111,37 +111,44 @@ is_truthLabels_valid <- function(eval_data, col_param = "description", col_truth
 #' This function computes an evaluation report for TMB/DESeq2 analysis using several graphical
 #' summaries like precision-recall (PR) curve, Receiver operating characteristic (ROC) curve
 #' and others. It takes as input several parameters like TMB results (\code{l_tmb}), DESeq2
-#' result (\code{dds}), mock object (\code{mock_obj}), coefficient (\code{coefficient}) and
-#' alternative hypothesis (\code{alt_hypothesis}). These parameters are processed by various
-#' functions like \code{get_eval_data}, \code{get_pr_object} and \code{get_roc_object} to
-#' perform computations and generate plots.
+#' result (\code{dds}), mock object (\code{mock_obj}), coefficient threshold (\code{coeff_threshold}) and
+#' alternative hypothesis (\code{alt_hypothesis}). 
 #'
 #' @param list_tmb TMB results from analysis.
 #' @param dds DESeq2 results from differential gene expression analysis.
 #' @param mock_obj Mock object that represents the distribution of measurements corresponding
 #'   to mock samples.
-#' @param coeff_threshold natural logarithm fold-change threshold used to define differential expression.
-#' @param alt_hypothesis Alternative hypothesis used for hypothesis testing.
-#' @param alpha_risk parameter that sets the threshold for alpha risk level (default 0.05).
-#' @param palette_color Optional parameter that sets the color palette for plots.
+#' @param coeff_threshold  A non-negative value which specifies a ln(fold change) threshold. The Threshold  is used for the Wald test to determine whether the  coefficient (β) is significant or not, depending on \code{alt_hypothesis} parameter. Default is 0, ln(FC = 1).
+#' @param alt_hypothesis Alternative hypothesis for the Wald test (default is "greaterAbs").
+#' Possible choice: 
+#' "greater" 
+#' - β > coeff_threshold, 
+#' "less" 
+#' - β < −coeff_threshold,
+#' or two-tailed alternative: 
+#' "greaterAbs" 
+#' - |β| > coeff_threshold
+#' @param alpha_risk parameter that sets the threshold for alpha risk level while testing coefficient (β). Default: 0.05.
+#' @param palette_color Optional parameter that sets the color palette for plots.Default : c(DESeq2 = "#500472", HTRfit ="#79cbb8").
 #' @param skip_eval_intercept indicate whether to calculate precision-recall and ROC metrics for the intercept (default TRUE).
-#' @param ... Additional parameters to be passed to \code{get_pr_curve} and \code{get_roc_curve}.
+#' @param ... Additional parameters to be passed to aesthetics \code{get_pr_curve} and \code{get_roc_curve}.
 #'
 #' @return A list containing the following components:
 #' \item{identity}{A list containing model parameters and dispersion data.}
 #' \item{precision_recall}{A PR curve object generated from TMB and DESeq2 results.}
 #' \item{roc}{A ROC curve object generated from TMB and DESeq2 results.}
 #' \item{counts}{A counts plot generated from mock object.}
+#'  \item{performances}{A summary of the performances obtained.}
 #' @export
-evaluation_report <- function(list_tmb, dds, mock_obj, coeff_threshold, alt_hypothesis, alpha_risk = 0.05, palette_color = NULL, skip_eval_intercept = TRUE, ...) {
+evaluation_report <- function(list_tmb, dds, mock_obj, coeff_threshold, alt_hypothesis, alpha_risk = 0.05, palette_color = c(DESeq2 = "#500472", HTRfit ="#79cbb8"), skip_eval_intercept = TRUE, ...) {
   
   ## -- eval data
   eval_data <- get_eval_data(list_tmb, dds, mock_obj, coeff_threshold, alt_hypothesis)
   
   ## -- identity plot
   #identity_data <- rbind_model_params_and_dispersion(eval_data)
-  params_identity_eval <- eval_identityTerm(eval_data$modelparams)
-  dispersion_identity_eval <- eval_identityTerm(eval_data$modeldispersion)
+  params_identity_eval <- eval_identityTerm(eval_data$modelparams, palette_color)
+  dispersion_identity_eval <- eval_identityTerm(eval_data$modeldispersion, palette_color)
   
   if (isTRUE(skip_eval_intercept)){
     eval_data2metrics <- subset(eval_data$modelparams, 
@@ -177,11 +184,11 @@ evaluation_report <- function(list_tmb, dds, mock_obj, coeff_threshold, alt_hypo
   
   ## -- pr curve
   pr_curve_obj <- get_pr_object(eval_data2metrics)
-  pr_curve_obj <- get_pr_curve(pr_curve_obj, ...)
+  pr_curve_obj <- get_pr_curve(pr_curve_obj, palette_color = palette_color,  ...)
   
   ## -- auc curve
   roc_curve_obj <- get_roc_object(eval_data2metrics)
-  roc_curve_obj <- get_roc_curve(roc_curve_obj, ...)
+  roc_curve_obj <- get_roc_curve(roc_curve_obj, palette_color = palette_color, ...)
   
   ## -- acc, recall, sensib, speci, ...
   metrics_obj <- get_ml_metrics_obj(eval_data2metrics, alpha_risk )
@@ -469,7 +476,7 @@ rbind_model_params_and_dispersion <- function(eval_data){
 #' @param l_tmb A list of TMB models (default is NULL).
 #' @param dds A DESeqDataSet object (default is NULL).
 #' @param mock_obj A mock object containing ground truth information.
-#' @param coefficient The coefficient threshold for waldtest.
+#' @param coefficient Threshold value for coefficient testing (default is 0). This threshold corresponds to the natural logarithm of the fold change (ln(FC)).
 #' @param alt_hypothesis The alternative hypothesis for wald test
 #' @return A list containing data frames for model parameters and dispersion.
 #' @export
diff --git a/R/waldtest.R b/R/waldtest.R
index 8bfffbc4e38215fb5f98119841bab6361f94b310..9728ef5a35ba68e066d0f9c14d923669bf3912d7 100644
--- a/R/waldtest.R
+++ b/R/waldtest.R
@@ -46,10 +46,16 @@ wald_test <- function(estimation, std_error, reference_value = 0, alternative =
 #' This function takes a list of glmmTMB objects and performs statistical tests based on the estimated coefficients and their standard errors. The results are returned in a tidy data frame format.
 #'
 #' @param list_tmb A list of glmmTMB objects representing the fitted models.
-#' @param coeff_threshold The threshold value for coefficient testing (default is 0).
-#' @param alternative_hypothesis The type of alternative hypothesis for the statistical test (default is "greaterAbs").
-#'                               Possible options are "greater" (for greater than threshold), "less" (for less than threshold), 
-#'                                and "greaterAbs" (for greater than absolute value of threshold).
+#' @param coeff_threshold  A non-negative value which specifies a ln(fold change) threshold. The Threshold  is used for the Wald test to determine whether the  coefficient (β) is significant or not, depending on \code{alt_hypothesis} parameter. Default is 0, ln(FC = 1).
+#' @param alt_hypothesis Alternative hypothesis for the Wald test (default is "greaterAbs").
+#' Possible choice: 
+#' "greater" 
+#' - β > coeff_threshold, 
+#' "less" 
+#' - β < −coeff_threshold,
+#' or two-tailed alternative: 
+#' "greaterAbs" 
+#' - |β| > coeff_threshold
 #' @param correction_method a character string indicating the correction method to apply to p-values. Possible values are: 
 #'                          "holm", "hochberg", "hommel", #' "bonferroni", "BH", "BY", "fdr", and "none".
 #'
diff --git a/dev/flat_full.Rmd b/dev/flat_full.Rmd
index 7d6d48de470c2e7fab4f5b99cb818ceded0d772f..738abec6ff75092ba3d1584cf9ed26d6e21c5b3a 100644
--- a/dev/flat_full.Rmd
+++ b/dev/flat_full.Rmd
@@ -5476,10 +5476,16 @@ wald_test <- function(estimation, std_error, reference_value = 0, alternative =
 #' This function takes a list of glmmTMB objects and performs statistical tests based on the estimated coefficients and their standard errors. The results are returned in a tidy data frame format.
 #'
 #' @param list_tmb A list of glmmTMB objects representing the fitted models.
-#' @param coeff_threshold The threshold value for coefficient testing (default is 0).
-#' @param alternative_hypothesis The type of alternative hypothesis for the statistical test (default is "greaterAbs").
-#'                               Possible options are "greater" (for greater than threshold), "less" (for less than threshold), 
-#'                                and "greaterAbs" (for greater than absolute value of threshold).
+#' @param coeff_threshold  A non-negative value which specifies a ln(fold change) threshold. The Threshold  is used for the Wald test to determine whether the  coefficient (β) is significant or not, depending on \code{alt_hypothesis} parameter. Default is 0, ln(FC = 1).
+#' @param alt_hypothesis Alternative hypothesis for the Wald test (default is "greaterAbs").
+#' Possible choice: 
+#' "greater" 
+#' - β > coeff_threshold, 
+#' "less" 
+#' - β < −coeff_threshold,
+#' or two-tailed alternative: 
+#' "greaterAbs" 
+#' - |β| > coeff_threshold
 #' @param correction_method a character string indicating the correction method to apply to p-values. Possible values are: 
 #'                          "holm", "hochberg", "hommel", #' "bonferroni", "BH", "BY", "fdr", and "none".
 #'
@@ -7702,37 +7708,44 @@ is_truthLabels_valid <- function(eval_data, col_param = "description", col_truth
 #' This function computes an evaluation report for TMB/DESeq2 analysis using several graphical
 #' summaries like precision-recall (PR) curve, Receiver operating characteristic (ROC) curve
 #' and others. It takes as input several parameters like TMB results (\code{l_tmb}), DESeq2
-#' result (\code{dds}), mock object (\code{mock_obj}), coefficient (\code{coefficient}) and
-#' alternative hypothesis (\code{alt_hypothesis}). These parameters are processed by various
-#' functions like \code{get_eval_data}, \code{get_pr_object} and \code{get_roc_object} to
-#' perform computations and generate plots.
+#' result (\code{dds}), mock object (\code{mock_obj}), coefficient threshold (\code{coeff_threshold}) and
+#' alternative hypothesis (\code{alt_hypothesis}). 
 #'
 #' @param list_tmb TMB results from analysis.
 #' @param dds DESeq2 results from differential gene expression analysis.
 #' @param mock_obj Mock object that represents the distribution of measurements corresponding
 #'   to mock samples.
-#' @param coeff_threshold natural logarithm fold-change threshold used to define differential expression.
-#' @param alt_hypothesis Alternative hypothesis used for hypothesis testing.
-#' @param alpha_risk parameter that sets the threshold for alpha risk level (default 0.05).
-#' @param palette_color Optional parameter that sets the color palette for plots.
+#' @param coeff_threshold  A non-negative value which specifies a ln(fold change) threshold. The Threshold  is used for the Wald test to determine whether the  coefficient (β) is significant or not, depending on \code{alt_hypothesis} parameter. Default is 0, ln(FC = 1).
+#' @param alt_hypothesis Alternative hypothesis for the Wald test (default is "greaterAbs").
+#' Possible choice: 
+#' "greater" 
+#' - β > coeff_threshold, 
+#' "less" 
+#' - β < −coeff_threshold,
+#' or two-tailed alternative: 
+#' "greaterAbs" 
+#' - |β| > coeff_threshold
+#' @param alpha_risk parameter that sets the threshold for alpha risk level while testing coefficient (β). Default: 0.05.
+#' @param palette_color Optional parameter that sets the color palette for plots.Default : c(DESeq2 = "#500472", HTRfit ="#79cbb8").
 #' @param skip_eval_intercept indicate whether to calculate precision-recall and ROC metrics for the intercept (default TRUE).
-#' @param ... Additional parameters to be passed to \code{get_pr_curve} and \code{get_roc_curve}.
+#' @param ... Additional parameters to be passed to aesthetics \code{get_pr_curve} and \code{get_roc_curve}.
 #'
 #' @return A list containing the following components:
 #' \item{identity}{A list containing model parameters and dispersion data.}
 #' \item{precision_recall}{A PR curve object generated from TMB and DESeq2 results.}
 #' \item{roc}{A ROC curve object generated from TMB and DESeq2 results.}
 #' \item{counts}{A counts plot generated from mock object.}
+#'  \item{performances}{A summary of the performances obtained.}
 #' @export
-evaluation_report <- function(list_tmb, dds, mock_obj, coeff_threshold, alt_hypothesis, alpha_risk = 0.05, palette_color = NULL, skip_eval_intercept = TRUE, ...) {
+evaluation_report <- function(list_tmb, dds, mock_obj, coeff_threshold, alt_hypothesis, alpha_risk = 0.05, palette_color = c(DESeq2 = "#500472", HTRfit ="#79cbb8"), skip_eval_intercept = TRUE, ...) {
   
   ## -- eval data
   eval_data <- get_eval_data(list_tmb, dds, mock_obj, coeff_threshold, alt_hypothesis)
   
   ## -- identity plot
   #identity_data <- rbind_model_params_and_dispersion(eval_data)
-  params_identity_eval <- eval_identityTerm(eval_data$modelparams)
-  dispersion_identity_eval <- eval_identityTerm(eval_data$modeldispersion)
+  params_identity_eval <- eval_identityTerm(eval_data$modelparams, palette_color)
+  dispersion_identity_eval <- eval_identityTerm(eval_data$modeldispersion, palette_color)
   
   if (isTRUE(skip_eval_intercept)){
     eval_data2metrics <- subset(eval_data$modelparams, 
@@ -7768,11 +7781,11 @@ evaluation_report <- function(list_tmb, dds, mock_obj, coeff_threshold, alt_hypo
   
   ## -- pr curve
   pr_curve_obj <- get_pr_object(eval_data2metrics)
-  pr_curve_obj <- get_pr_curve(pr_curve_obj, ...)
+  pr_curve_obj <- get_pr_curve(pr_curve_obj, palette_color = palette_color,  ...)
   
   ## -- auc curve
   roc_curve_obj <- get_roc_object(eval_data2metrics)
-  roc_curve_obj <- get_roc_curve(roc_curve_obj, ...)
+  roc_curve_obj <- get_roc_curve(roc_curve_obj, palette_color = palette_color, ...)
   
   ## -- acc, recall, sensib, speci, ...
   metrics_obj <- get_ml_metrics_obj(eval_data2metrics, alpha_risk )
@@ -8094,7 +8107,7 @@ rbind_model_params_and_dispersion <- function(eval_data){
 #' @param l_tmb A list of TMB models (default is NULL).
 #' @param dds A DESeqDataSet object (default is NULL).
 #' @param mock_obj A mock object containing ground truth information.
-#' @param coefficient The coefficient threshold for waldtest.
+#' @param coefficient Threshold value for coefficient testing (default is 0). This threshold corresponds to the natural logarithm of the fold change (ln(FC)).
 #' @param alt_hypothesis The alternative hypothesis for wald test
 #' @return A list containing data frames for model parameters and dispersion.
 #' @export
@@ -8798,7 +8811,8 @@ is_formula_mixedTypeI <- function(formula) {
   if (length(all.vars(formula)) != 3) return(FALSE)
   if (sum(all.names(formula) == "+") > 1) return(FALSE)
   if (sum(all.names(formula) == "/") > 0) return(FALSE)
-  if (length(all_var_in_formula) == 4 && all_var_in_formula[2] != all_var_in_formula[3]) return(FALSE)8
+  all_var_in_formula <- all.vars(formula, unique = F)
+  if (length(all_var_in_formula) == 4 && all_var_in_formula[2] != all_var_in_formula[3]) return(FALSE)
   return(TRUE)
 }
 
@@ -9356,13 +9370,13 @@ MIN_REPLICATES = 2
 MAX_REPLICATES = 10
 ########################
 
-## -- simulate RNAseq data based on input_var_list, minimum input required
+## -- simulate RNAseq data based on list_var, minimum input required
 ## -- number of replicate randomly defined between MIN_REP and MAX_REP
 mock_data <- mock_rnaseq(list_var, N_GENES,
                          min_replicates  = MIN_REPLICATES,
                          max_replicates = MAX_REPLICATES)
 
-## -- simulate RNAseq data based on input_var_list, minimum input required
+## -- simulate RNAseq data based on list_var, minimum input required
 ## -- Same number of replicates between conditions
 mock_data <- mock_rnaseq(list_var, N_GENES,
                          min_replicates  = MAX_REPLICATES,
@@ -9548,13 +9562,23 @@ As the model family can be customized, HTRfit is not exclusively tailored for RN
 
 ```{r example-fitModelParallel_nonRNA, warning=FALSE, message=FALSE, eval=FALSE}
 data("iris")
-l_tmb <- fitModelParallel(formula =  Sepal.Length ~ Sepal.Width + Petal.Length + Petal.Width ,
+l_tmb_iris <- fitModelParallel(formula =  Sepal.Length ~ Sepal.Width + Petal.Length + Petal.Width ,
                           data = iris,
                           group_by = "Species",
                           family = gaussian(),
                           n.cores = 1)
 ```
 
+## Extracts a tidy result table from a list tmb object
+
+The tidy_results function extracts a dataframe containing estimates of ln(fold changes), standard errors, test statistics, p-values, and adjusted p-values for fixed effects. Additionally, it provides access to correlation terms and standard deviations for random effects, offering a detailed view of HTRfit modeling results.
+
+```{r example-tidyRes, warning=FALSE,  message=FALSE}
+## -- get tidy results
+tidy_results(l_tmb_iris, coeff_threshold = 0.1, alternative_hypothesis = "greaterAbs")
+```
+
+
 ## Update fit
 
 The `updateParallel()` function updates and re-fits a model for each gene. It offers options similar to those in `fitModelParallel()`.
@@ -9859,7 +9883,11 @@ str(resSimu, max.level = 1)
 
 ## About mixed model evaluation
 
-**HTRfit** offers a versatile simulation framework capable of fitting various types of models involving mixed effects, thanks to its implementation of **glmmTMB**. By combining the functionalities of `init_variable()` and `add_interaction()`, **HTRfit** enables the simulation of even the most complex experimental designs. However, it's important to note that as of now, HTRfit supports the evaluation of only *Type I* mixed models. In this context, *Type I* models are defined as those that follow the structure: `~ varA + (1 | varB)` or `~ varA + (varA | varB)`. Models not conforming to this specific form cannot be evaluated using **HTRfit's** current implementation. Nonetheless, you are welcome to extend its capabilities by implementing support for additional model types.
+**HTRfit** offers a versatile simulation framework capable of fitting various types of models involving mixed effects, thanks to its implementation of **glmmTMB**. By combining the functionalities of `init_variable()` and `add_interaction()`, **HTRfit** enables the simulation of complex experimental designs. As of now, HTRfit supports the evaluation of *Type I* mixed models. In this context, *Type I* models are defined as those that follow the structure:
+- `~ varA + (1 | varB)` : where `varA` is defined as fixed effect and `varB` as random effect
+- `~ varA + (varA | varB)`: where `varA` is defined as mixed effect (fixed + random) and `varB` as random effect.
+
+Models not conforming to this specific form cannot be evaluated using **HTRfit's** current implementation. Nonetheless, you are welcome to extend its capabilities by implementing support for additional model types.
 
 
 
diff --git a/man/evaluation_report.Rd b/man/evaluation_report.Rd
index b037b33c3fdfd03e291937fa5de9c7b5ed3f351e..9d142a4298137871ce3941d7cfd1aa8c73023e4c 100644
--- a/man/evaluation_report.Rd
+++ b/man/evaluation_report.Rd
@@ -11,7 +11,7 @@ evaluation_report(
   coeff_threshold,
   alt_hypothesis,
   alpha_risk = 0.05,
-  palette_color = NULL,
+  palette_color = c(DESeq2 = "#500472", HTRfit = "#79cbb8"),
   skip_eval_intercept = TRUE,
   ...
 )
@@ -24,17 +24,27 @@ evaluation_report(
 \item{mock_obj}{Mock object that represents the distribution of measurements corresponding
 to mock samples.}
 
-\item{coeff_threshold}{natural logarithm fold-change threshold used to define differential expression.}
+\item{coeff_threshold}{A non-negative value which specifies a ln(fold change) threshold. The Threshold  is used for the Wald test to determine whether the  coefficient (β) is significant or not, depending on \code{alt_hypothesis} parameter. Default is 0, ln(FC = 1).}
 
-\item{alt_hypothesis}{Alternative hypothesis used for hypothesis testing.}
+\item{alt_hypothesis}{Alternative hypothesis for the Wald test (default is "greaterAbs").
+Possible choice:
+"greater"
+\itemize{
+\item β > coeff_threshold,
+"less"
+\item β < −coeff_threshold,
+or two-tailed alternative:
+"greaterAbs"
+\item |β| > coeff_threshold
+}}
 
-\item{alpha_risk}{parameter that sets the threshold for alpha risk level (default 0.05).}
+\item{alpha_risk}{parameter that sets the threshold for alpha risk level while testing coefficient (β). Default: 0.05.}
 
-\item{palette_color}{Optional parameter that sets the color palette for plots.}
+\item{palette_color}{Optional parameter that sets the color palette for plots.Default : c(DESeq2 = "#500472", HTRfit ="#79cbb8").}
 
 \item{skip_eval_intercept}{indicate whether to calculate precision-recall and ROC metrics for the intercept (default TRUE).}
 
-\item{...}{Additional parameters to be passed to \code{get_pr_curve} and \code{get_roc_curve}.}
+\item{...}{Additional parameters to be passed to aesthetics \code{get_pr_curve} and \code{get_roc_curve}.}
 }
 \value{
 A list containing the following components:
@@ -42,13 +52,12 @@ A list containing the following components:
 \item{precision_recall}{A PR curve object generated from TMB and DESeq2 results.}
 \item{roc}{A ROC curve object generated from TMB and DESeq2 results.}
 \item{counts}{A counts plot generated from mock object.}
+\item{performances}{A summary of the performances obtained.}
 }
 \description{
 This function computes an evaluation report for TMB/DESeq2 analysis using several graphical
 summaries like precision-recall (PR) curve, Receiver operating characteristic (ROC) curve
 and others. It takes as input several parameters like TMB results (\code{l_tmb}), DESeq2
-result (\code{dds}), mock object (\code{mock_obj}), coefficient (\code{coefficient}) and
-alternative hypothesis (\code{alt_hypothesis}). These parameters are processed by various
-functions like \code{get_eval_data}, \code{get_pr_object} and \code{get_roc_object} to
-perform computations and generate plots.
+result (\code{dds}), mock object (\code{mock_obj}), coefficient threshold (\code{coeff_threshold}) and
+alternative hypothesis (\code{alt_hypothesis}).
 }
diff --git a/man/get_eval_data.Rd b/man/get_eval_data.Rd
index 1b2a51a66b506823e3f7515ec37443ec61b405d3..d3c89297f447d8f22901fe523162bd56b24620c9 100644
--- a/man/get_eval_data.Rd
+++ b/man/get_eval_data.Rd
@@ -13,7 +13,7 @@ get_eval_data(l_tmb = NULL, dds = NULL, mock_obj, coefficient, alt_hypothesis)
 
 \item{mock_obj}{A mock object containing ground truth information.}
 
-\item{coefficient}{The coefficient threshold for waldtest.}
+\item{coefficient}{Threshold value for coefficient testing (default is 0). This threshold corresponds to the natural logarithm of the fold change (ln(FC)).}
 
 \item{alt_hypothesis}{The alternative hypothesis for wald test}
 }
diff --git a/man/tidy_results.Rd b/man/tidy_results.Rd
index bfe7f35e54fe376cd864f59b0b227c4395a28f23..03479bb5ba409d3eaf954dc1eb5c2e6572c64f93 100644
--- a/man/tidy_results.Rd
+++ b/man/tidy_results.Rd
@@ -14,14 +14,22 @@ tidy_results(
 \arguments{
 \item{list_tmb}{A list of glmmTMB objects representing the fitted models.}
 
-\item{coeff_threshold}{The threshold value for coefficient testing (default is 0).}
-
-\item{alternative_hypothesis}{The type of alternative hypothesis for the statistical test (default is "greaterAbs").
-Possible options are "greater" (for greater than threshold), "less" (for less than threshold),
-and "greaterAbs" (for greater than absolute value of threshold).}
+\item{coeff_threshold}{A non-negative value which specifies a ln(fold change) threshold. The Threshold  is used for the Wald test to determine whether the  coefficient (β) is significant or not, depending on \code{alt_hypothesis} parameter. Default is 0, ln(FC = 1).}
 
 \item{correction_method}{a character string indicating the correction method to apply to p-values. Possible values are:
 "holm", "hochberg", "hommel", #' "bonferroni", "BH", "BY", "fdr", and "none".}
+
+\item{alt_hypothesis}{Alternative hypothesis for the Wald test (default is "greaterAbs").
+Possible choice:
+"greater"
+\itemize{
+\item β > coeff_threshold,
+"less"
+\item β < −coeff_threshold,
+or two-tailed alternative:
+"greaterAbs"
+\item |β| > coeff_threshold
+}}
 }
 \value{
 A tidy data frame containing the results of statistical tests for the estimated coefficients.
diff --git a/tests/testthat/test-evaluation_withmixedeffect.R b/tests/testthat/test-evaluation_withmixedeffect.R
index 854e95c3f78c48ff302edebc20cdaaa1cbadec86..fbaee4dc2fbae2dc9493183126ed22c89b1470a0 100644
--- a/tests/testthat/test-evaluation_withmixedeffect.R
+++ b/tests/testthat/test-evaluation_withmixedeffect.R
@@ -18,11 +18,14 @@ test_that("Test is_formula_mixedTypeI", {
   formula2 <- y ~ z + group1 + (1 | group1)
   formula3 <- y ~ z + (1 | group1 + group2)
   formula4 <- y ~ z + (1 | group1/z)
-
+  formula5 <- y ~ z + ( group | z ) ## z is fixed then expected on the left in parenthesis
+  
   expect_true(is_formula_mixedTypeI(formula1))
   expect_false(is_formula_mixedTypeI(formula2))
   expect_false(is_formula_mixedTypeI(formula3))
   expect_false(is_formula_mixedTypeI(formula4))
+  expect_false(is_formula_mixedTypeI(formula5))
+
 
 })
 
diff --git a/vignettes/htrfit.Rmd b/vignettes/htrfit.Rmd
index ca71e1573f939f49d6992e6fd659a27ddba6170d..12444de83b744bb1db163ef4f917b65004a3d40e 100644
--- a/vignettes/htrfit.Rmd
+++ b/vignettes/htrfit.Rmd
@@ -226,7 +226,7 @@ In this modeling framework, counts denoted as $K_{ij}$ for gene i and sample j a
 
 The fitted mean $\mu_{ij}$ is determined by a parameter, $q_{ij}$, which is proportionally related to the sum of all effects specified using `init_variable()` or `add_interaction()`. If basal gene expressions are provided, the $\mu_{ij}$ values are scaled accordingly using the gene-specific basal expression value ($bexpr_i$).
 
-Furthermore, the coefficients $\beta_i$ represent the natural logarithm fold changes for gene i across each column of the model matrix X. The dispersion parameter $dispersion_i$ plays a crucial role in defining the relationship between the variance of observed counts and their mean value. In simpler terms, it quantifies how far we expect observed counts to deviate from the mean value.
+Furthermore, the coefficients $\beta_i$ represent the natural logarithm fold changes for gene i across each column of the model matrix X. The dispersion parameter $dispersion_i$ plays a crucial role in defining the relationship between the variance of observed counts and their mean value. In simpler terms, it quantifies how far we expect observed counts to deviate from the mean value for each genes.
 
 
 
@@ -262,7 +262,8 @@ metaData <- mock_data$metadata
 ## -- convert counts matrix and samples metadatas in a data frame for fitting
 data2fit = prepareData2fit(countMatrix = count_matrix, 
                            metadata =  metaData, 
-                           normalization = F)
+                           normalization = F,
+                           response_name = "kij")
 
 
 ## -- median ratio normalization
@@ -320,15 +321,25 @@ l_tmb <- fitModelParallel(formula = kij ~ varA,
 As the model family can be customized, HTRfit is not exclusively tailored for RNA-seq data.
 
 
-```{r example-fitModelParallel_nonRNA, warning = FALSE, message = FALSE, eval = FALSE}
+```{r example-fitModelParallel_nonRNA, warning = FALSE, message = FALSE, eval = TRUE}
 data("iris")
-l_tmb <- fitModelParallel(formula =  Sepal.Length ~ Sepal.Width + Petal.Length + Petal.Width ,
+l_tmb_iris <- fitModelParallel(formula =  Sepal.Length ~ Sepal.Width + Petal.Length + Petal.Width ,
                           data = iris,
                           group_by = "Species",
                           family = gaussian(),
                           n.cores = 1)
 ```
 
+## Extracts a tidy result table from a list tmb object
+
+The tidy_results function extracts a dataframe containing estimates of ln(fold changes), standard errors, test statistics, p-values, and adjusted p-values for fixed effects. Additionally, it provides access to correlation terms and standard deviations for random effects, offering a detailed view of HTRfit modeling results.
+
+
+```{r example-tidyRes, warning = FALSE, message = FALSE}
+## -- get tidy results
+tidy_results(l_tmb_iris, coeff_threshold = 0.1, alternative_hypothesis = "greaterAbs")
+```
+
 ## Update fit
 
 The `updateParallel()` function updates and re-fits a model for each gene. It offers options similar to those in `fitModelParallel()`.
@@ -436,7 +447,7 @@ The Receiver Operating Characteristic (ROC) curve is a valuable tool for assessi
 
 
 
-```{r example-outputROC, warning = FALSE, message = FALSE, fig.align = 'center', fig.height = 4, fig.width = 9}
+```{r example-outputROC, warning = FALSE, message = FALSE, fig.align = 'center', fig.height = 4, fig.width = 7}
 ## -- ROC curve
 resSimu$roc$params
 ```
@@ -447,7 +458,7 @@ The precision-recall curve (PR curve) illustrates the relationship between preci
 
 
 
-```{r example-outputPR, warning = FALSE, message = FALSE, fig.align = 'center', fig.height = 4, fig.width = 9}
+```{r example-outputPR, warning = FALSE, message = FALSE, fig.align = 'center', fig.height = 4, fig.width = 7}
 ## -- precision-recall curve
 resSimu$precision_recall$params
 ```
@@ -461,7 +472,7 @@ In addition to evaluating model performance through the AUC for both ROC and PR
 
 
 
-```{r example-outputPerf, warning = FALSE, message = FALSE, fig.align = 'center', fig.height = 4, fig.width = 9}
+```{r example-outputPerf, warning = FALSE, message = FALSE, fig.align = 'center', fig.height = 4, fig.width = 7}
 ## -- precision-recall curve
 resSimu$performances
 ```
@@ -498,7 +509,7 @@ resSimu$identity$params
 resSimu$identity$dispersion
 ```
 
-```{r example-outputResSimu_metric, warning = FALSE, message = FALSE, fig.align = 'center', fig.height = 4, fig.width = 9}
+```{r example-outputResSimu_metric, warning = FALSE, message = FALSE, fig.align = 'center', fig.height = 4, fig.width = 7}
 ## -- precision-recall curve
 resSimu$precision_recall$params
 ## -- ROC curve
@@ -538,7 +549,7 @@ resSimu$identity$params
 resSimu$identity$dispersion
 ```
 
-```{r example-subsetGenes_metrics, warning = FALSE, message = FALSE, fig.align = 'center', fig.height = 4, fig.width = 9}
+```{r example-subsetGenes_metrics, warning = FALSE, message = FALSE, fig.align = 'center', fig.height = 4, fig.width = 7}
 ## -- precision-recall curve
 resSimu$precision_recall$params
 ## -- ROC curve
@@ -592,7 +603,8 @@ mock_data <- mock_rnaseq(input_var_list,
 ## -- prepare data & fit a model with mixed effect
 data2fit = prepareData2fit(countMatrix = mock_data$counts, 
                            metadata =  mock_data$metadata, 
-                           normalization = F)
+                           normalization = F,
+                           response_name = "kij")
 l_tmb <- fitModelParallel(formula = kij ~ varB + (varB | varA),
                           data = data2fit, 
                           group_by = "geneID",
@@ -614,7 +626,7 @@ resSimu$identity$params
 resSimu$identity$dispersion
 ```
 
-```{r example-outputResSimuMixed_metric, warning = FALSE, message = FALSE, fig.align = 'center', fig.height = 4, fig.width = 9}
+```{r example-outputResSimuMixed_metric, warning = FALSE, message = FALSE, fig.align = 'center', fig.height = 4, fig.width = 7}
 ## -- precision-recall curve
 resSimu$precision_recall$params
 ## -- ROC curve