module Semaphore