better api based retrieval