higher level interface so that users don't have to set headers for every request. also removed connect functions because of name clashes, I need to fix that