item.rb reractoring