 		uuid_parse(string, u)
 		self.uuid = UUID.uuidFromPointer(u)
 	}
-	
+
 	init(_ uuid: uuid_t) {
 		self.uuid = uuid
 	}
-	
+
 	private static func uuidFromPointer(_ u: UnsafeMutablePointer<UInt8>) -> uuid_t {
 		// is there a better way?
 		return uuid_t(u[0], u[1], u[2], u[3], u[4], u[5], u[6], u[7], u[8], u[9], u[10], u[11], u[12], u[13], u[14], u[15])
 	}
-	
+
 	public var string: String {
 		let u = UnsafeMutablePointer<UInt8>.allocate(capacity:  sizeof(uuid_t.self))
 		let unu = UnsafeMutablePointer<Int8>.allocate(capacity:  37) // as per spec. 36 + null

    public func sendFile(_ file: File, callBack: (Bool) -> ()) throws {
        try self.sendFd(Int32(file.fd), callBack: callBack)
    }
    
    /// Receive an existing opened `File` descriptor from the sender
    /// - parameter callBack: The callback to call when the receive completes. The parameter passed will be the received `File` object or nil.
    /// - throws: `PerfectError.NetworkError`
    public func receiveFile(callBack: (File?) -> ()) throws {
        try self.receiveFd {
            fd in
            
            if fd == invalidSocket {
                callBack(nil)
            } else {


public struct UUID {
	let uuid: uuid_t

	public init() {
		let u = UnsafeMutablePointer<UInt8>.allocate(capacity:  sizeof(uuid_t.self))
		defer {
