one change at a time

testing only the new thread_alive loop, to make sure all that macro madness works