most of the way to multiple selection
assembly with core instantiation much more there