start loom semaphore implementation