new raycast API