added line intersection