new generic request object