public function moveMessage($user, array $params) {
		if (is_null($user) || ! is_string($user) || (! strpos($user, '@') === false)) {
			throw new InvalidArgumentException('user must be string representing userId');
		}
		$params = $this->_filterParams($params, array('label','folder','message_id','new_folder_id','delimiter'), array('label','folder','message_id','new_folder_id'));
		if ($params === false) {
			throw new InvalidArgumentException("params array contains invalid parameters or misses required parameters");
		}
		$email_account = $params['label'];
		$folder = $params['folder'];
		$messageId = $params['message_id'];
		$newFolder = $params['new_folder_id'];
		unset($params['label']);
		unset($params['folder']);
		unset($params['message_id']);
		return $this->put($user, "email_accounts/" . rawurlencode($email_account) . "/folders/" . rawurlencode($folder) . "/messages/" . rawurlencode($messageId) . '?new_folder_id=' . rawurlencode($newFolder));
	}