added semaphore based load generator (which actually seems to work)