request context factory