functional ranges