structure refactor and removal