add Data.Ord
add Num