touched up floating point conversions
added invert() implementation comparison