Update login function