LineItem moved into a separate class