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


import Foundation

struct FileArchive {
    static func archiveEncodable(encodable: EncodableType, toFile file: String) -> Bool {
        let object = NativeTypesEncoder.objectFromEncodable(encodable)
        return NSKeyedArchiver.archiveRootObject(object, toFile: file)
    }

    static func archiveDictionaryOfEncodable<E: EncodableType>(dictionary: [String:E], toFile file: String) -> Bool {
        var finalDict = [String:AnyObject]()

        for (key, value) in dictionary {

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

    public static func archiveArrayOfEncodable<E: EncodableType>(array: [E], toFile file: String) -> Bool {
        var finalArray = [AnyObject]()

        for value in array {
