Implemented EM update