changed IDD to use IVR rather than the concrete implementation
IVO is used when it can in other interfaces