     case findDevices([String: Any])
     case getDevice(String)
     case getExperience(String)
-    case findExperiences([String: AnyObject])
+    case findExperiences([String: Any])
     case getLocation(String)
-    case findLocations([String: AnyObject])
+    case findLocations([String: Any])
     case getContent(String)
-    case findContent([String: AnyObject])
+    case findContent([String: Any])
     case getContentNode(String)
-    case findContentNodes([String: AnyObject])
-    case findData([String: AnyObject])
+    case findContentNodes([String: Any])
+    case findData([String: Any])
     case getData(String,String)
     case getThing(String)
     case findThings([String: Any])
     case getFeed(String)
     case getFeedData(String)
     //todo fix param
-    case getDynamicFeedData(String,[String:AnyObject])
-    case findFeeds([String: AnyObject])
-    case login([String: AnyObject])
+    case getDynamicFeedData(String,[String:Any])
+    case findFeeds([String: Any])
+    case login([String: Any])
     case refreshToken()
     //todo fix param
-    case broadcast([String: AnyObject],String)
-    case respond([String: AnyObject])
+    case broadcast([String: Any],String)
+    case respond([String: Any])
     
     var method: HTTPMethod {
         switch self {

@param dictionary of search params
@return Promise<Array<Thing>>.
*/
public func findThings(_ params:[String:AnyObject]) -> Promise<SearchResults<Thing>>{
    return Promise { fulfill, reject in
        Alamofire.request(Router.findThings(params))
            .responseCollection { (response: DataResponse<SearchResults<Thing>>) in

@param [String:AnyObject].
@return Promise<SearchResults<Data>>.
*/
public func findData(_ params:[String:Any]) -> Promise<SearchResults<Data>>{
    return Promise { fulfill, reject in
        Alamofire.request(Router.findData(params))
            .responseCollection { (response: DataResponse<SearchResults<Data>>) in
