started rational implemented normalize() and sign()