abstracted http request into ExecuteQuery()