Shiny restructure approach 2

@gordonwoodhull This is as per our email conversation, for comparison purpose