scala rational modified