supports all conversions