Add promise for IE compatibility