refactored items method