refine source, rename req to _req
add edge framework