refactor selections
update and structure tests