new updating routines