hs return proper promise