wip rewrite for splitting structure.