switch to IConvertibe