do some refactor in lineitem