adding the whole em estimate algorithm