update signin function