refactor items