Refactored item and list classed