let shift and subrequest