implement RealFrac