multi-backend support for data retrieval using promises