     }
 
     ///
-    private var bytesToSixbitArray: [UInt8] {
+    private var bytesToSextetArray: [UInt8] {
         
         var sixes = [UInt8]()
 

        return sixes
    }

    private var sixbitArrayToBytes: [UInt8] {
        var bytes: [UInt8] = []

        for i in startIndex.stride(to: endIndex, by: 4) {
            
            bytes.append(self[i+0]<<2 | self[i+1]>>4)
            
            guard i+2 < endIndex else {
//                bytes.append(self[i+1]<<4)
                return bytes
            }
            
            bytes.append(self[i+1]<<4 | self[i+2]>>2)
    
            guard i+3 < endIndex else {
//                bytes.append(self[i+2]<<6)
                return bytes
            }
            
            bytes.append(self[i+2]<<6 | self[i+3]>>0)
        }

    /// returns an array of bytes
    /// - precondition: `self` is base-64 text
    public var base64ToBytes: [UInt8] {
        return characters.map { String($0) }.filter { $0 != "=" }.map { UInt8(base64Chars.indexOf($0)!) }.sextetArrayToBytes
    }
    
    public var asciiToBase64: String {
