wip on struct cleanup