add semaphor