Change structure and refactor.