update only wnen needed