system refactor