returns float