restruct
draft update