restructuring argo programming guide