thread knows if its running
move to own thread?