custom types and providers for IPA