update Functions