updated em algorithm