restructured to use Request and Responce via interfaces, implemented save/load for Response