initial implementation: decimal -> fract & fract -> decimal