refactoring of interop framework