added 2D ray caster