One update function to rule them all