item partial refactoring