finish initial rational number implementation