diff --git a/R/whatNWISData.r b/R/whatNWISData.r
index 68ce122068142306c4e5caad2d7327e90521f531..2ee6bbd53ce6964925cfcf6914adb88e2497bb81 100644
--- a/R/whatNWISData.r
+++ b/R/whatNWISData.r
@@ -2,8 +2,13 @@
 #'
 #' Imports a table of available parameters, period of record, and count.
 #'
-#' @param siteNumber string USGS site number.
-#' @param service vector string. Options are "uv", "dv", "qw"
+#' @param siteNumbers string vector of USGS site number or multiple sites.
+#' @param service vector string. Options are "all", or one or many of "dv"(daily values),
+#'      "uv","rt", or "iv"(unit values), "qw"(water-quality),"sv"(sites visits),"pk"(peak measurements),
+#'      "gw"(groundwater levels), "ad" (sites included in USGS Annual Water Data Reports External Link), 
+#'      "aw" (sites monitored by the USGS Active Groundwater Level Network External Link), "id" (historical 
+#'      instantaneous values), "
+#' @param pCode string
 #' @keywords data import USGS web service
 #' @return retval dataframe with all information found in the expanded site file
 #' @export
@@ -14,11 +19,16 @@
 #' # To find just unit value ('instantaneous') data:
 #' uvData <- whatNWISdata('05114000',service="uv")
 #' uvDataMulti <- whatNWISdata(c('05114000','09423350'),service=c("uv","dv"))
-whatNWISdata <- function(siteNumber,service=c("uv","dv","qw")){
+#' siteNumbers <- c("01491000","01645000")
+#' flowAndTemp <- whatNWISdata(siteNumbers, pCode=c("00060","00010"))
+whatNWISdata <- function(siteNumbers,service="all",pCode="all",statCd="all"){
   
-  siteNumber <- paste(siteNumber,collapse=",")
+  siteNumber <- paste(siteNumbers,collapse=",")
+  
+  if(!("all" %in% service)){
+    service <- match.arg(service, c("dv","uv","qw","ad","id","pk","sv","gw","aw","all","ad","iv","rt"), several.ok = TRUE)
+  }
   
-  service <- match.arg(service, c("dv","uv","qw","ad","id","pk","sv"), several.ok = TRUE)
   
   urlSitefile <- paste("http://waterservices.usgs.gov/nwis/site/?format=rdb&seriesCatalogOutput=true&sites=",siteNumber,sep = "")
  
@@ -60,7 +70,18 @@ whatNWISdata <- function(siteNumber,service=c("uv","dv","qw")){
     
     pcodeINFO <- parameterCdFile[parameterCdFile$parameter_cd %in% pCodes,]
     SiteFile <- merge(SiteFile,pcodeINFO,by.x="parm_cd" ,by.y="parameter_cd",all=TRUE)
-    SiteFile <- SiteFile[SiteFile$data_type_cd %in% service,]
+    
+    
+    if(!("all" %in% service)){
+      SiteFile <- SiteFile[SiteFile$data_type_cd %in% service,]
+    }
+    if(!("all" %in% statCd)){
+      SiteFile <- SiteFile[SiteFile$stat_cd %in% statCd,]
+    }
+    if(!("all" %in% pCode)){
+      SiteFile <- SiteFile[SiteFile$parm_cd %in% pCode,]
+    }
+    
     
     SiteFile$begin_date <- as.Date(parse_date_time(SiteFile$begin_date, c("Ymd", "mdY", "Y!")))
     SiteFile$end_date <- as.Date(parse_date_time(SiteFile$end_date, c("Ymd", "mdY", "Y!")))