rename guard to semaphore
spec sims every object, queue size