hypothetical struct support
more struct groundwork