refactor post & get flow.