diff --git a/src/ieee754.h b/src/ieee754.h
index ba2b030..f6824ba 100644
--- a/src/ieee754.h
+++ b/src/ieee754.h
@@ -37,6 +37,30 @@
 #include <stdint.h>
 
 
+
+/*
+ General comments
+ 
+ This is a complete in that it handles all conversion cases
+ including +/- infinity, +/- zero, subnormal numbers, qNaN, sNaN
+ and NaN payloads.
+ 
+ This confirms to IEEE 754-2008, but note that this doesn't
+ specify conversions, just the encodings.
+ 
+ NaN payloads are preserved with alignment on the LSB. The
+ qNaN bit is handled differently and explicity copied. It
+ is always the MSB of the significand. The NaN payload MSBs
+ (except the qNaN bit) are truncated when going from
+ double or single to half.
+ 
+ TODO: what does the C cast do with NaN payloads from
+ double to single?
+ 
+ 
+ 
+ */
+
 /*
  Most simply just explicilty encode the type you want, single or double.
  This works easily everywhere since standard C supports both
@@ -78,12 +102,35 @@
  
  */
 
+
+
+/*
+ Convert single precision float to half-precision float.
+ Precision and NaN payload bits will be lost. Too large
+ values will round up to infinity and too small to zero.
+ */
 uint16_t IEEE754_FloatToHalf(float f);
 
+
+/*
+ Convert half precision float to single precision float.
+ This is a loss-less conversion.
+ */
 float IEEE754_HalfToFloat(uint16_t uHalfPrecision);
 
+
+/*
+ Convert double precision float to half-precision float.
+ Precision and NaN payload bits will be lost. Too large
+ values will round up to infinity and too small to zero.
+ */
 uint16_t IEEE754_DoubleToHalf(double d);
 
+
+/*
+ Convert half precision float to double precision float.
+ This is a loss-less conversion.
+ */
 double IEEE754_HalfToDouble(uint16_t uHalfPrecision);
 
 
@@ -103,10 +150,15 @@
 } IEEE754_union;
 
 
+/*
+ Converts double-precision to single-precision or half-precision if possible without
+ loss of precisions. If not, leaves it as a double. Only converts to single-precision
+ unless bAllowHalfPrecision is set.
+ */
 IEEE754_union IEEE754_DoubleToSmallestInternal(double d, int bAllowHalfPrecision);
 
 /*
- Converts double-precision to half- or single-precision if possible without
+ Converts double-precision to single-precision if possible without
  loss of precision. If not, leaves it as a double.
  */
 static inline IEEE754_union IEEE754_DoubleToSmall(double d)
@@ -116,7 +168,7 @@
 
 
 /*
- Converts double-precision to single-precision if possible without
+ Converts double-precision to single-precision or half-precision if possible without
  loss of precisions. If not, leaves it as a double.
  */
 static inline IEEE754_union IEEE754_DoubleToSmallest(double d)
@@ -124,7 +176,6 @@
     return IEEE754_DoubleToSmallestInternal(d, 1);
 }
 
-
 /*
  Converts single-precision to half-precision if possible without
  loss of precision. If not leaves as single-precision.
@@ -132,12 +183,6 @@
 IEEE754_union IEEE754_FloatToSmallest(float f);
 
 
-
-
-
-
-
-
 #endif /* ieee754_h */
 
 
