removed semaphore query and cleaned up logic enough to begin
implementation