request decoding and routing
add in-memory persistence
handle challenge request