better EM sweep