 #endif
 #endif
 
-class Threading {
+public class Threading {
 	
-	typealias ThreadOnceFunction = @convention(c) () -> ()
+	public typealias ThreadOnceFunction = @convention(c) () -> ()
 	
 #if USE_LIBDISPATCH
-	typealias ThreadClosure = () -> ()
-	typealias ThreadQueue = dispatch_queue_t
-	typealias ThreadSemaphore = dispatch_semaphore_t
-	typealias ThreadOnce = dispatch_once_t
+	public typealias ThreadClosure = () -> ()
+	public typealias ThreadQueue = dispatch_queue_t
+	public typealias ThreadSemaphore = dispatch_semaphore_t
+	public typealias ThreadOnce = dispatch_once_t
 #else
 	
-	class ThreadSemaphore {
+	public class ThreadSemaphore {
 		
 		var mutex = pthread_mutex_t()
 		var cond = pthread_cond_t()

#endif
	}
	
	static func createSerialQueue(named: String) -> ThreadQueue {
#if USE_LIBDISPATCH
		return dispatch_queue_create(named, DISPATCH_QUEUE_SERIAL)
#else

		}
	}
	
	public typealias ThreadClosure = () -> ()
	public typealias ThreadQueue = Int // bogus
	public typealias ThreadOnce = pthread_once_t
	public typealias ThreadFunction = @convention(c) (UnsafeMutablePointer<Void>) -> UnsafeMutablePointer<Void>
	
	class IsThisRequired {
		let closure: ThreadClosure
