Update, better for overriding in sub classes.