more threads, clean up

have several thread creation/exit/switch execution paths