request prototype