not use float type args, use double.