update for internal use