made Semaphore optional, and add get and setter for property sem (Semaphore)
remove work instance only working with abstract class now, add controller for child process  and removed functions from manager
fix timeout from controller and cleanup