unfinished EM code