use fetch instead of set