added ray cast