added a datasource controller and started building out the singleton for the API call