update function login