finish building abstract retrieval functionality