[WIP] move snapshot, request and reply into data