added documentation and changed model

point1 and  point2 are now point and direction, point2 can be obtained
with point.add(direction)