basic data structures for requests and serialization