provide a float API