diff --git a/elliptical/dw_elliptical.c b/elliptical/dw_elliptical.c
index 6299847ff9b42ff27349a079fa67f712c15e7b81..11cfd663cebeaf86c3170bc703b957a145a7b78c 100644
--- a/elliptical/dw_elliptical.c
+++ b/elliptical/dw_elliptical.c
@@ -86,6 +86,16 @@ PRECISION RadiusElliptical(PRECISION *draw, TElliptical *elliptical)
   return sqrt(InnerProduct(elliptical->draw,elliptical->draw,elliptical->quadratic_form));
 }
 
+void PrintEllipticalInfo_full(FILE *f_out, TElliptical *elliptical)
+{
+  PrintEllipticalInfo(f_out,elliptical);
+  fprintf(f_out,"Variance scale: %lg\n",elliptical->variance_scale);
+  fprintf(f_out,"Center:\n");
+  dw_PrintVector(f_out,elliptical->center,"%lg ");
+  fprintf(f_out,"Scale:\n");
+  dw_PrintMatrix(f_out,elliptical->scale,"%lg ");
+}
+
 static PRECISION logdensity_draw(PRECISION *draw, TElliptical *elliptical)
 {
   return elliptical->logdensity_radius(RadiusElliptical(draw,elliptical),elliptical);
@@ -155,7 +165,7 @@ static PRECISION draw_truncated_gaussian(PRECISION *draw, TElliptical *elliptica
 static void print_info_truncated_gaussian(FILE *f_out, TElliptical *elliptical)
 {
   TElliptical_gaussian *d=(TElliptical_gaussian*)elliptical->data;
-  if (f_out) fprintf(f_out,"%s\n dim=%d \n lower bound=%lg\n  upper bound=%lg\n  s^2=%lg\n",
+  if (f_out) fprintf(f_out,"%s\n dim=%d\n lower bound=%lg\n upper bound=%lg\n s^2=%lg\n",
 		     elliptical->type,elliptical->dim,d->lower_bound,d->upper_bound,d->s_square);
 }
 
@@ -328,7 +338,7 @@ static PRECISION draw_truncated_power(PRECISION *draw, TElliptical *elliptical)
 static void print_info_truncated_power(FILE *f_out, TElliptical *elliptical)
 {
   TElliptical_power *d=(TElliptical_power*)elliptical->data;
-  if (f_out) fprintf(f_out,"%s\n dim=%d\n  lower bound=%lg\n  upper bound=%lg\n  power=%lg\n",
+  if (f_out) fprintf(f_out,"%s\n dim=%d\n lower bound=%lg\n upper bound=%lg\n power=%lg\n",
 		     elliptical->type,elliptical->dim,d->lower_bound,d->upper_bound,d->power);
 }
 
@@ -414,7 +424,7 @@ TElliptical* CreateElliptical_TruncatedPower(int dim, TVector center, TMatrix sc
 static void print_info_power(FILE *f_out, TElliptical *elliptical)
 {
   TElliptical_power *d=(TElliptical_power*)elliptical->data;
-  if (f_out) fprintf(f_out,"%s\n dim=%d\n  upper bound=%lg\n  power=%lg\n",
+  if (f_out) fprintf(f_out,"%s\n dim=%d\n upper bound=%lg\n power=%lg\n",
 		     elliptical->type,elliptical->dim,d->upper_bound,d->power);
 }
 
@@ -439,7 +449,7 @@ TElliptical* CreateElliptical_Power(int dim, TVector center, TMatrix scale, PREC
 static void print_info_uniform(FILE *f_out, TElliptical *elliptical)
 {
   TElliptical_power *d=(TElliptical_power*)elliptical->data;
-  if (f_out) fprintf(f_out,"%s\n dim=%d\n  lower bound=%lg\n  upper bound=%lg\n",
+  if (f_out) fprintf(f_out,"%s\n dim=%d\n lower bound=%lg\n upper bound=%lg\n",
 		     elliptical->type,elliptical->dim,d->lower_bound,d->upper_bound);
 }
 
@@ -533,7 +543,7 @@ static PRECISION draw_step(PRECISION *draw, TElliptical *elliptical)
 static void print_info_step(FILE *f_out, TElliptical *elliptical)
 {
   TElliptical_step *d=(TElliptical_step*)(elliptical->data);
-  if (f_out) fprintf(f_out,"%s\n dim=%d\n  lower bound=%lg\n  upper bound=%lg\n",
+  if (f_out) fprintf(f_out,"%s\n dim=%d\n lower bound=%lg\n upper bound=%lg\n",
 		     elliptical->type,elliptical->dim,d->t[0],d->t[d->m]);
 }
 
diff --git a/include/dw_elliptical.h b/include/dw_elliptical.h
index 6516953bce24d26d1d7c424292c3e796b94c065c..d6c3b7e035c468f5e2df15700dfa7862bf5b20d9 100644
--- a/include/dw_elliptical.h
+++ b/include/dw_elliptical.h
@@ -23,7 +23,7 @@
 
 typedef struct TElliptical_tag
 {
-  PRECISION logabsdet;           // = ln(abs(det(scale))))
+  PRECISION logabsdet;           // = -ln(abs(det(scale))))
   int dim;                       // = dimension of elliptical random vector
   PRECISION variance_scale;      // variance = variance_scale * (scale * scale')
   TVector center;                // mean = center
@@ -80,6 +80,7 @@ PRECISION RadiusElliptical(PRECISION *draw, TElliptical *elliptical);
 #define CummulativeDensityElliptical_Radius(radius,elliptical) ((elliptical)->cummulative_radius(radius,elliptical))
 #define PrintEllipticalInfo(f_out,elliptical) ((elliptical)->print_info(f_out,elliptical))
 #define EllipticalType(elliptical) ((elliptical)->type)
+void PrintEllipticalInfo_full(FILE *f_out, TElliptical *elliptical);
 
 PRECISION VarianceScale_TruncatedPower(int dim, PRECISION lower_bound, PRECISION upper_bound, PRECISION power);
 PRECISION VarianceScale_TruncatedGaussian(int dim, PRECISION lower_bound, PRECISION upper_bound, PRECISION s);
@@ -152,7 +153,7 @@ The mapping to the data structure is:
   center = c
   scale = S
   quadratic_form = Inverse(S*S')
-  logconstant = -log(abs(det(S)))
+  logabsdet = -log(abs(det(S)))
   dim = n
 
 ---------------------------------------------------------------------------------