change $apply() to $evalAsync()