add Num trait