nicely ordered code; still cannot fire up the user thread