Add promise support to index loading