- moved logic to EmService