lots of boilerplate from reference seed structure