correcting IFunction for float and int