Updated to use arbitrary precision. very slow
Merge remote-tracking branch 'origin/master'