a few API calls and some odds and ends