added raycasting surface intersection, this revision crashes