update_os function