using function pointers for the conversions