Refactor and ownership