only use ok status codes
handle missing data