         return NativeTypesDecoder.decodableTypeFromObject(object)
     }
 
-    static func unarchiveDictionaryOfEncodableFromFile<E: EncodableType>(file: String) -> [String:E]? {
+    public static func unarchiveDictionaryOfEncodableFromFile<E: EncodableType>(file: String) -> [String:E]? {
         guard let rawDict = NSKeyedUnarchiver.unarchiveObjectWithFile(file) as? [String:[String: AnyObject]] else {
             return nil
         }

        return finalDict
    }

    static func unarchiveArrayOfEncodableFromFile<E: EncodableType>(file: String) -> [E]? {
        guard let rawArray = NSKeyedUnarchiver.unarchiveObjectWithFile(file) as? [AnyObject] else {
            return nil
        }

        return NSKeyedArchiver.archiveRootObject(finalArray, toFile: file)
    }

    public static func unarchiveEncodableFromFile<E: EncodableType>(file: String) -> E? {
        guard let object = NSKeyedUnarchiver.unarchiveObjectWithFile(file) else {
            return nil
        }
