always implement own em?