improved the object that is returned by semaphore.
merging.