use float instead of int