refactored line item private methods