modified api requests to be recursive