simplified everything to a very small functional scope. currently only HTTP support is in