add printable() and toEmpirical()
add a GCD() method used in toEmpirical()