untested refactor of structure