updates functions