added line plane intersection