added bmi_impl