implemented EMIC