refactoring: change full structure