update mode functions