implementing MDI