add rational number class