basic raycasting implemented