added ray2d