make MMI code more reusable