normilize instead of locate and use promises