use float math instead of int64