request pattern