stop experimenting with generics, adapt scott's Request & Response classes