proto: restruct