update2 purposes