magazine refactor