abstracted data retrieval shit