added state parameter validation