refactor cabinet