separated from interoperability-framework