restructured update_sup procedure