add ability to pass in an API key