implementing IREmiter