protected function saveRememberedParams()
	{
		$queryParams = Yii::$app->request->queryParams;
		if (empty($queryParams)) return;

		//prepare data array
		$memoryData = [];

		//fetch rules
		$arr = $this->memoryMap;
		foreach ($this->getCurrentMemoryPath() as $part) {
			if (!isset($arr[$part])) return;
			$arr = $arr[$part];
		}

		//iterate over params
		foreach ($queryParams as $paramName=>$paramVal) {
			foreach ($arr as $key=>$val) {
				$rule = $val instanceof \Closure ? $key : $val;
				$callback = $val instanceof \Closure ? $val : null;

				//check callback if set
				if ($callback !== null) {
					if (!call_user_func($callback)) continue;
				}

				//fix incorrect specified rules for regex comparison
				if ($rule[0] !== '/') $rule = '/' . $rule;
				if ($rule[strlen($rule) - 1] !== '/') $rule = $rule . '/';

				//match the rules
				if (preg_match($rule, $paramName) !== 0) {
					$memoryData[$paramName] = $paramVal;
					break;
				}
			}
		}

		//save the data
		$this->saveMemory($this->getMemoryKey(), $memoryData);
	}