add deserialization test
add exceptions
init request methods