point-to-line added, lots of other changes